如何使用FormsAuthentication匹配用户名和密码

时间:2014-01-04 06:25:13

标签: asp.net c#-4.0 forms-authentication

C#

protected void btnLogin_Click(object sender, EventArgs e)
    {

        if(FormsAuthentication.Authenticate(txtName.ToString(),txtPass.ToString()))
        {
             Response.Redirect("admin.aspx");
        }
         else
        {
            Response.Redirect("user.aspx");
        }
    }

配置:

<authentication mode="Forms"> 
 <forms loginUrl="login.aspx" timeout="2880" defaultUrl="~/" > 
  <credentials passwordFormat="SHA1"> 
  <user name="mohit" password="mohit"/> 
  </credentials> 
 </forms> 
</authentication>

它没有重定向到管理页面。每当我登录其他condtion工作。

3 个答案:

答案 0 :(得分:0)

请尝试这样:

    if(FormsAuthentication.Authenticate(txtName.Text, txtPass.Text))
    {
         Response.Redirect("admin.aspx");
    }
    else
    {
        Response.Redirect("user.aspx");
    }

答案 1 :(得分:0)

//在凭证标记中将 passwordFormat =“SHA1”设置为 passwordFormat =“清除”

 <authentication mode="Forms" >
      <forms loginUrl ="Default.aspx" DefaultUrl="~/admin.aspx">
        <credentials passwordFormat="Clear">
          <user name="mohit" password="mohit"/> 
        </credentials>
      </forms>
    </authentication>
    <authorization>
      <deny users ="?"/>
    </authorization> 

这对我有用。

答案 2 :(得分:0)

将PasswordFormat更改为Clear(即,passwordFormat =&#34; Clear&#34;),因为当您向SHA1提及Password format(它是算法)时,表单身份验证永远不会比较纯文本密码使用algorithm type 98ahcnd15。在&lt; system.web&gt;下的web.config文件中使用授权标记。