使用Web.Config登录Asp.net表单认证后重定向无法正常工作

时间:2012-10-25 05:23:08

标签: asp.net forms-authentication

我正在尝试通过在web.config文件中存储用户名和密码来登录,如下所示

 <authentication mode="Forms">
  <forms loginUrl="Admin Login.aspx" defaultUrl="~/Home.aspx">
    <credentials>
      <user name="Admin"  password="123"  />

    </credentials>
  </forms>
</authentication>

我在提交按钮上编写了这段代码

 if (FormsAuthentication.Authenticate(TxtUsername.Text, TxtPassword.Text))
    {

        Response.Redirect(FormsAuthentication.GetRedirectUrl(TxtUsername.Text, false));
    }

但它没有被重定向..任何建议..?

2 个答案:

答案 0 :(得分:2)

您需要在重定向之前调用FormsAuthentication.SetAuthCookie()

if (FormsAuthentication.Authenticate(TxtUsername.Text, TxtPassword.Text))
{
    FormsAuthentication.SetAuthCookie(TxtUsername.Text, false);
    Response.Redirect(FormsAuthentication.GetRedirectUrl(TxtUsername.Text, false));
}

答案 1 :(得分:2)

实际罪魁祸首是您的credentials标签..
把它改成以下..它应该对你有用..

..
<credentials passwordFormat="Clear">
     ...

并使用

FormsAuthentication.RedirectFromLoginPage(TxtUsername.Text, false);
验证后

,将设置authCookie并重定向到请求的页面或默认页面。