当前位置:编程学习 > C#/ASP.NET >>

asp.net登录不了

在adminsys文件夹里面,有个Default.aspx文件,是登录入口,输入用户名跟密码老是提示“用户名密码错误,登录失败”不知道什么问题,查看了数据库里面Admin表的用户名和密码,发现我输入的用户名跟密码都是没错的,请高手帮忙啊!

(1)/adminsys/Default.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Adminsys_Default" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>后台登录</title>
    <link href="../Adminsys/ML_style.css" rel="stylesheet" type="text/css" />
</head>
<body style="background-image: none">
    <form id="form1" runat="server">
        <div style="text-align: center; margin-top: 100px;">
            <table style="width: 424px; height: 293px;" border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td style="width: 429px; height: 28px; background: url(images/we_1.gif); color: White;"
                        valign="bottom" align="left">
                        <strong>     <asp:Label ID="lbl_Title" runat="server" Text=""></asp:Label>
                        </strong>
                    </td>
                </tr>
                <tr>
                    <td style="height: 126px; width: 429px;" align="center">
                        <asp:Image ID="adImg" runat="server" ImageUrl="images/we_2.gif" /></td>
                </tr>
                <tr>
                    <td style="height: 119; background: url(images/we_3.gif); width: 429px" align="center">
                        <table width="100%" border="0" cellpadding="3" cellspacing="0">
                            <tr>
                                <td valign="middle" style="width: 128px; height: 24px;" align="right">
                                    <b>用户名:</b></td>
                                <td valign="middle" align="left">
                                    <asp:TextBox ID="txt_username" runat="server" Style="border-right: #7b9fbe 1px solid;
                                        border-top: #7b9fbe 1px solid; font-size: 12px; background: #f9f9f9; border-left: #7b9fbe 1px solid;
                                        width: 120px; border-bottom: #7b9fbe 1px solid; height: 18px"></asp:TextBox>
                                    <asp:RequiredFieldValidator ID="valrUserName" runat="server" ErrorMessage="请输入管理员用户名!"
                                        ControlToValidate="txt_username"></asp:RequiredFieldValidator></td>
                            </tr>
                            <tr>
                                <td valign="middle" align="right" style="height: 24px; width: 128px;">
                                    <b>密 码:</b></td>
                                <td valign="middle" align="left">
                                    <asp:TextBox ID="txt_pwd" runat="server" Style="border-right: #7b9fbe 1px solid;
                                        border-top: #7b9fbe 1px solid; font-size: 12px; background: #f9f9f9; border-left: #7b9fbe 1px solid;
                                        width: 120px; border-bottom: #7b9fbe 1px solid; height: 18px" TextMode="Password"></asp:TextBox>
                                    <asp:RequiredFieldValidator ID="valrPWD" runat="server" ControlToValidate="txt_pwd"
                                        ErrorMessage="请输入管理员密码!"></asp:RequiredFieldValidator></td>
                            </tr>
                            <tr>
                                <td valign="middle" align="right" style="height: 24px; width: 128px;">
                                    <b>验证码:</b></td>
                                <td valign="middle" align="left">
                                    <asp:TextBox ID="txt_ValidateNum" runat="server" Style="border-right: #7b9fbe 1px solid;
                                        border-top: #7b9fbe 1px solid; font-size: 12px; background: #f9f9f9; border-left: #7b9fbe 1px solid;
                                        width: 60px; border-bottom: #7b9fbe 1px solid; height: 18px"></asp:TextBox>
                                      <asp:Image ID="ValidateNumber" runat="server" ImageUrl="~/Adminsys/chkcode/Image.aspx"
                                        ImageAlign="AbsMiddle" />
                                    <asp:RequiredFieldValidator ID="valrCode" runat="server" ControlToValidate="txt_ValidateNum"
                                        ErrorMessage="请输入验证码!"></asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td valign="middle" colspan="2" align="center" style="height: 30px">
                                    <asp:Button ID="btnSub" runat="server" Text=" 登 录 " OnClick="btnSub_Click" />
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td style="width: 429px" align="center">
                        <asp:Image ID="Image1" runat="server" ImageUrl="~/Adminsys/images/we_5.gif" /></td>
                </tr>
            </table>
        </div>

     
    </form>
</body>
</html>




(2)/adminsys/Default.aspx.cs文件(包含“登录”控件)代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;


public partial class Adminsys_Default : System.Web.UI.Page
{
  
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            lbl_Title.Text = Page.Title = Convert.ToString(Application["siteName"]) + "后台管理系统";


          

        }
    }
    protected void btnSub_Click(object sender, EventArgs e)
    {
        string uname = txt_username.Text.ToString();
        string pwd = txt_pwd.Text.ToString();
        string validateNum = txt_ValidateNum.Text.ToString();
        if (validateNum == (string)Session["CheckCode"])
        {
            string[] userInfo = admin.login(uname, pwd);
            if (userInfo[2].Equals(pwd))
            {                 
                    Session["userID"] = userInfo[0];
                    Session["userName"] = userInfo[1];
                    Session["pwd"] = userInfo[2];
                    Response.Redirect("admin_main.aspx");     
            }
            else
            {
                Response.Write(jaylee.Msg("", "用户名密码错误,登录失败!"));
            }
        }
        else
        {
            Response.Write(jaylee.Msg("", "验证码输入错误!"));
        }

    }

}



--------------------编程问答-------------------- string[] userInfo = admin.login(uname, pwd);

admin.login返回的是什么?

if (userInfo[2].Equals(pwd))
这个判断是正确的吗?

--------------------编程问答-------------------- 一楼字数限制,写到这里来。

(3)/web.config文件代码如下:
<?xml version="1.0"?>
<!-- 
    注意: 除了手动编辑此文件以外,您还可以使用 
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在 
    machine.config.comments 中,该文件通常位于 
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
  <appSettings>
    <add key="dbPath" value="~/App_Data/dongtundu.mdb"/>
    <add key="imagesfolder" value="~/upLoadFile/"/>
    <add key="yuanimg" value="~/upLoadFile/"/>
  </appSettings>
  <connectionStrings/>
  <system.web>
    <httpHandlers/>
    
    <!--
            设置文件上传最大值,预设200M
    -->
    <httpRuntime maxRequestLength="204800"/>
    <!--
            设置sessionState mode="StateServer" 将session保IIS进程外的进程中
            需要开启ASP.NET 状态服务InProc
    -->
    <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"></sessionState>
    <!-- 
            设置 compilation debug="true" 将调试符号插入
            已编译的页面中。但由于这会 
            影响性能,因此只在开发过程中将此值 
            设置为 true。
        -->
    <!-- 
            设置 compilation debug="true" 将调试符号插入
            已编译的页面中。但由于这会 
            影响性能,因此只在开发过程中将此值 
            设置为 true。
        -->
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <!--
            通过 <authentication> 节可以配置 ASP.NET 使用的 
            安全身份验证模式,
            以标识传入的用户。 
        -->
    <authentication mode="Windows"/>
    <!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
            开发人员通过该节可以配置
            要显示的 html 错误页
            以代替错误堆栈跟踪。

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
  </system.web>
</configuration>


(4)/App_code/admin.cs文件代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

/// <summary>
/// admin 的摘要说明
/// </summary>
public class admin
{
public admin()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
    public static string[] login(string uname, string pwd)
    {
        string[] userInfo = new string[] {  "userID", "userName","pwd" };
        OleDbDataReader dr=(OleDbDataReader)OleDbHelper.ExecuteReader(CommandType.Text, "select * from Admin where username='" + jaylee.replacesql(uname).ToString() + "' and password='" + jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToString() + "'");
        if(dr.HasRows)
        {
            dr.Read();
            if (dr["password"].ToString() == jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToString())
            {
            
                userInfo[0] = dr["id"].ToString();
                userInfo[1] = dr["userName"].ToString();
                userInfo[2] = pwd;   
           
            }
        }
        dr.Close();
        return userInfo;
    }
    public static bool chkoldpwd(string uname, string pwd)
    {
        if (Convert.ToInt32(OleDbHelper.ExecuteScalar(CommandType.Text, "select count(0) from admin where username='" + jaylee.replacesql(uname).ToString() + "' and password='" + jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToString() + "'")) > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public static string chklogin(string uname)
    {
        string strMsg="";
        if (uname == null || uname.Length <= 0)
        {
            strMsg = jaylee.Msg("Default.aspx", "登录超时,请重新登录!","parent");
        }
        return strMsg;
    }
    public static string chkflag(int flagID)
    {
        string flagBox = Convert.ToString(HttpContext.Current.Session["flag"]);
        flagBox = "," + flagBox + ",";
        string strMsg = "";
        int flag = flagBox.IndexOf("," + flagID.ToString() + ",");
        if (flag <= 0)
        {
            strMsg = jaylee.Msg("", "你没有权限访问此页面!");
        }
        return strMsg;
    }
    public static bool chkflagb(int flagID)
    {
        string flagBox = Convert.ToString(HttpContext.Current.Session["flag"]);
        flagBox = "," + flagBox + ",";
        int flag = flagBox.IndexOf("," + flagID.ToString() + ",");
        if (flag <= 0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }

}





--------------------编程问答-------------------- 接上面
(5)/App_Code/OleDbHelper.cs代码如下:
using System;
using System.Data;
using System.Configuration;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

using System.Data.OleDb;
using System.Collections;
/// <summary>
/// Summary description for OleDbHelper
/// </summary>
public class OleDbHelper
{


    public static string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"].ToString());


    private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());

    #region ExecuteNonQuery

    public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
    {

        OleDbCommand cmd = new OleDbCommand();

        using (OleDbConnection conn = new OleDbConnection(connectionString))
        {
            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
            int val;
            try
            {
                val = cmd.ExecuteNonQuery();
            }
            finally
            {
                cmd.Parameters.Clear();
                conn.Close();
            }
            return val;
        }
    }


    public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
    {
        OleDbCommand cmd = new OleDbCommand();

        using (OleDbConnection conn = new OleDbConnection(strConnection))
        {
            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
            int val;
            try
            {
                val = cmd.ExecuteNonQuery();
            }
            finally
            {
                cmd.Parameters.Clear();
                conn.Close();
            }
            return val;
        }
    }


    public static int ExecuteNonQuery(string cmdText, params OleDbParameter[] commandParameters)
    {

        OleDbCommand cmd = new OleDbCommand();

        using (OleDbConnection conn = new OleDbConnection(strConnection))
        {
            PrepareCommand(cmd, conn, null, CommandType.StoredProcedure, cmdText, commandParameters);
            int val;
            try
            {
                val = cmd.ExecuteNonQuery();
            }
            finally
            {
                cmd.Parameters.Clear();
                conn.Close();
            }
            return val;
        }
    }

    public static int ExecuteNonQuery(OleDbConnection connection, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
    {

        OleDbCommand cmd = new OleDbCommand();

        PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
        int val;
        try
        {
            val = cmd.ExecuteNonQuery();
        }
        finally
        {
            cmd.Parameters.Clear();
            connection.Close();
        }
        return val;
    }
    #endregion

    #region ExecuteReader
    public static OleDbDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
    {
        OleDbCommand cmd = new OleDbCommand();
        OleDbConnection conn = new OleDbConnection(connectionString);
        OleDbDataReader rdr;
        try
        {
            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
            rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        }
        finally
        {
            cmd.Parameters.Clear();
        }
        return rdr;
    }


    public static OleDbDataReader ExecuteReader(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
    {
        OleDbCommand cmd = new OleDbCommand();
        OleDbConnection conn = new OleDbConnection(strConnection);
        OleDbDataReader rdr;
        try
        {
            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
            rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        }
        finally
        {
            cmd.Parameters.Clear();
        }
        return rdr;
    }


    public static OleDbDataReader ExecuteReader(string cmdText, params OleDbParameter[] commandParameters)
    {
        OleDbCommand cmd = new OleDbCommand();
        OleDbConnection conn = new OleDbConnection(strConnection);
        OleDbDataReader rdr;
        try
        {
            PrepareCommand(cmd, conn, null, CommandType.StoredProcedure, cmdText, commandParameters);
            rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        }
        finally
        {
            cmd.Parameters.Clear();
            //conn.Close();
        }
        return rdr;
    }
    #endregion

    #region ExecuteScalar

    public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
    {
        OleDbCommand cmd = new OleDbCommand();

        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
            object val ;
            try
            {
                val = cmd.ExecuteScalar();
            }
            finally
            {
                cmd.Parameters.Clear();
                connection.Close();
            }
            return val;
        }
    }

    public static object ExecuteScalar(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
    {
        OleDbCommand cmd = new OleDbCommand();

        using (OleDbConnection connection = new OleDbConnection(strConnection))
        {
            PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
            object val;
            try
            {
                val = cmd.ExecuteScalar();
            }
            finally
            {
                cmd.Parameters.Clear();
                connection.Close();
            }
            return val;
        }
    }

    --------------------编程问答-------------------- 接上面
 public static object ExecuteScalar(string cmdText, params OleDbParameter[] commandParameters)
    {
        OleDbCommand cmd = new OleDbCommand();

        using (OleDbConnection connection = new OleDbConnection(strConnection))
        {
            PrepareCommand(cmd, connection, null, CommandType.StoredProcedure, cmdText, commandParameters);
            object val;
            try
            {
                val = cmd.ExecuteScalar();
            }
            finally
            {
                cmd.Parameters.Clear();
                connection.Close();
            }
            return val;
        }
    }

    public static object ExecuteScalar(OleDbConnection connection, CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
    {

        OleDbCommand cmd = new OleDbCommand();

        PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
        object val;
        try
        {
            val = cmd.ExecuteScalar();
        }
        finally
        {
            cmd.Parameters.Clear();
            connection.Close();
        }
        return val;
    }

    #endregion

    #region ExecuteDataSet

    public static DataSet ExecuteDataSet(string connectionString, CommandType cmdType, string cmdText)
    {
        OleDbConnection OleDbDataConn = new OleDbConnection(connectionString);
        OleDbCommand OleDbComm = new OleDbCommand(cmdText, OleDbDataConn);
        OleDbComm.CommandType = cmdType;
        OleDbDataAdapter OleDbDA = new OleDbDataAdapter(OleDbComm);
        DataSet DS = new DataSet();
        OleDbDA.Fill(DS);

        OleDbDataConn.Close();
        return DS;
    }


    public static DataSet ExecuteDataSet(CommandType cmdType, string cmdText)
    {
        OleDbConnection OleDbDataConn = new OleDbConnection(strConnection);
        OleDbCommand OleDbComm = new OleDbCommand(cmdText, OleDbDataConn);
        OleDbComm.CommandType = cmdType;
        OleDbDataAdapter OleDbDA = new OleDbDataAdapter(OleDbComm);
        DataSet DS = new DataSet();
        OleDbDA.Fill(DS);
        OleDbDataConn.Close();
        return DS;
    }
    public static OleDbDataAdapter ExecuteDataAdapter(CommandType cmdType, string cmdText)
    {
        OleDbConnection OleDbDataConn = new OleDbConnection(strConnection);
        OleDbCommand OleDbComm = new OleDbCommand(cmdText, OleDbDataConn);
        OleDbComm.CommandType = cmdType;
        OleDbDataAdapter OleDbDA = new OleDbDataAdapter(OleDbComm);
        //OleDbDA.Fill(ds,tbl);
        OleDbDataConn.Close();
        return OleDbDA;
    }



    public static DataSet ExecuteDataSet(string cmdText)
    {
        OleDbConnection OleDbDataConn = new OleDbConnection(strConnection);
        OleDbCommand OleDbComm = new OleDbCommand(cmdText, OleDbDataConn);
        OleDbComm.CommandType = CommandType.StoredProcedure;
        OleDbDataAdapter OleDbDA = new OleDbDataAdapter(OleDbComm);
        DataSet DS = new DataSet();
        OleDbDA.Fill(DS);
        OleDbDataConn.Close();
        return DS;
    }

    public static DataSet ExecuteDataSet(string connectionString, CommandType cmdType, string cmdText, params OleDbParameter[] OleDbparams)
    {
        OleDbConnection OleDbDataConn = new OleDbConnection(connectionString);
        OleDbCommand OleDbComm = AddOleDbParas(OleDbparams, cmdText, cmdType, OleDbDataConn);
        OleDbDataAdapter OleDbDA = new OleDbDataAdapter(OleDbComm);
        DataSet DS = new DataSet();
        OleDbDA.Fill(DS);
        OleDbDataConn.Close();
        return DS;
    }

    public static DataSet ExecuteDataSet(CommandType cmdType, string cmdText, params OleDbParameter[] OleDbparams)
    {
        OleDbConnection OleDbDataConn = new OleDbConnection(strConnection);
        OleDbCommand OleDbComm = AddOleDbParas(OleDbparams, cmdText, cmdType, OleDbDataConn);
        OleDbDataAdapter OleDbDA = new OleDbDataAdapter(OleDbComm);
        DataSet DS = new DataSet();
        OleDbDA.Fill(DS);
        OleDbDataConn.Close();
        return DS;
    }

    public static DataSet ExecuteDataSet(string cmdText, params OleDbParameter[] OleDbparams)
    {
        OleDbConnection OleDbDataConn = new OleDbConnection(strConnection);
        OleDbCommand OleDbComm = AddOleDbParas(OleDbparams, cmdText, CommandType.StoredProcedure, OleDbDataConn);
        OleDbDataAdapter OleDbDA = new OleDbDataAdapter(OleDbComm);
        DataSet DS = new DataSet();
        OleDbDA.Fill(DS);
        OleDbDataConn.Close();
        return DS;
    }
    #endregion

    #region CacheParameters

    public static void CacheParameters(string cacheKey, params OleDbParameter[] commandParameters)
    {
        parmCache[cacheKey] = commandParameters;
    }

    #endregion

    #region GetCachedParameters

    public static OleDbParameter[] GetCachedParameters(string cacheKey)
    {
        OleDbParameter[] cachedParms = (OleDbParameter[])parmCache[cacheKey];

        if (cachedParms == null)
            return null;

        OleDbParameter[] clonedParms = new OleDbParameter[cachedParms.Length];

        for (int i = 0, j = cachedParms.Length; i < j; i++)
            clonedParms[i] = (OleDbParameter)((ICloneable)cachedParms[i]).Clone();

        return clonedParms;
    }

    #endregion

    #region PrepareCommand

    private static void PrepareCommand(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, CommandType cmdType, string cmdText, OleDbParameter[] cmdParms)
    {

    
            if (conn.State != ConnectionState.Open)
                conn.Open();

        cmd.Connection = conn;
        cmd.CommandText = cmdText;

        if (trans != null)
            cmd.Transaction = trans;

        cmd.CommandType = cmdType;

        if (cmdParms != null)
        {
            foreach (OleDbParameter parm in cmdParms)
                cmd.Parameters.Add(parm);
        }
    }

    #endregion

    #region AddOleDbParas

    private static OleDbCommand AddOleDbParas(OleDbParameter[] OleDbParas, string cmdText, CommandType cmdType, OleDbConnection OleDbDataConn)
    {
        OleDbCommand OleDbComm = new OleDbCommand(cmdText, OleDbDataConn);
        OleDbComm.CommandType = cmdType;
        if (OleDbParas != null)
        {
            foreach (OleDbParameter p in OleDbParas)
            {
                OleDbComm.Parameters.Add(p);
            }
        }
        return OleDbComm;
    }
    #endregion
   --------------------编程问答-------------------- 你是不是在web.config中添加了权限设置啊?如果是请加FormsAuthentication.RedirectFromLoginPage(this.txtUserName.Text, false);
退出时加System.Web.Security.FormsAuthentication.SignOut(); --------------------编程问答-------------------- 亲,你这码发的,让人看的很蛋疼啊 --------------------编程问答-------------------- 排个版啊 --------------------编程问答-------------------- 你传过来的参数值能取到吗?
代码看得有些乱 --------------------编程问答--------------------
引用 1 楼  的回复:
string[] userInfo = admin.login(uname, pwd);

admin.login返回的是什么?

if (userInfo[2].Equals(pwd))
这个判断是正确的吗?

这个我也看不太懂,还请高手相助啊! --------------------编程问答--------------------
引用 7 楼  的回复:
排个版啊

好的,这个是我下载下来的模版 --------------------编程问答--------------------
引用 8 楼  的回复:
你传过来的参数值能取到吗?
代码看得有些乱

附件发不了,怎么才能把整个站点文件发给您看看呢? --------------------编程问答-------------------- OleDbDataReader dr=(OleDbDataReader)OleDbHelper.ExecuteReader(CommandType.Text, "select * from Admin where username='" + jaylee.replacesql(uname).ToString() + "' and password='" + jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToString() + "'");

你的OleDbHelper里面没有定义

ExecuteReader(CommandType cmdType,String sql)
的方法啊

你应该写成
OleDbDataReader dr=(OleDbDataReader)OleDbHelper.ExecuteReader(CommandType.Text, "select * from Admin where username='" + jaylee.replacesql(uname).ToString() + "' and password='" + jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToString() + "'",null);

--------------------编程问答-------------------- 另外你打印出



去数据库中去查,能查到数据吗

System.Web.HttpContext.Current.Response.Write("select * from Admin where username='" + jaylee.replacesql(uname).ToString() + "' and password='" + jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToString() + "'"); --------------------编程问答--------------------
引用 5 楼  的回复:
你是不是在web.config中添加了权限设置啊?如果是请加FormsAuthentication.RedirectFromLoginPage(this.txtUserName.Text, false);
退出时加System.Web.Security.FormsAuthentication.SignOut();

这个是我下载下来的模版,怎么看是不是添加了权限设置呢? --------------------编程问答--------------------
引用 13 楼  的回复:
另外你打印出



去数据库中去查,能查到数据吗

System.Web.HttpContext.Current.Response.Write("select * from Admin where username='" + jaylee.replacesql(uname).ToString() + "' and password='" + jaylee.to32MD5(jaylee.……

我用Access打开数据库,里面是有对应的用户名跟密码的 --------------------编程问答-------------------- 估计密码加密了的原因!! --------------------编程问答--------------------
引用 16 楼  的回复:
估计密码加密了的原因!!

我也有想过这个问题,但我对这个还不熟,不知道怎么改,请赐教 --------------------编程问答--------------------
引用 12 楼  的回复:
OleDbDataReader dr=(OleDbDataReader)OleDbHelper.ExecuteReader(CommandType.Text, "select * from Admin where username='" + jaylee.replacesql(uname).ToString() + "' and password='" + jaylee.to32MD5(jayle……

改了,还是不行啊 --------------------编程问答-------------------- System.Web.HttpContext.Current.Response.Write("select * from Admin where username='" + jaylee.replacesql(uname).ToString() + "' and password='" + jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToString() + "'");

去数据库中手工查询看有结果吗 --------------------编程问答-------------------- 跟踪下if (dr["password"].ToString() == jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToString())

看看她们数据是什么? --------------------编程问答--------------------
引用 19 楼  的回复:
System.Web.HttpContext.Current.Response.Write("select * from Admin where username='" + jaylee.replacesql(uname).ToString() + "' and password='" + jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToSt……

嗯,有结果 --------------------编程问答--------------------
引用 20 楼  的回复:
跟踪下if (dr["password"].ToString() == jaylee.to32MD5(jaylee.replacesql(pwd).ToString()).ToString())

看看她们数据是什么?

怎么跟踪呢,我菜鸟,不明白啊 --------------------编程问答-------------------- 设置断点 --------------------编程问答--------------------
你登陆方法加密了账号和密码,在数据库里的数据没有加密。所以虽然你输入的和数据库的一样,但经过加密后就不一样了。所以就会登录失败。

添加方法和登陆方法都要将密码加密。这样才能保持一致。

--------------------编程问答-------------------- 蛋疼的代码!!!!!!!!!!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,