3

我正在尝试通过将用户名和密码存储在 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));
    }

但它没有被重定向..有什么建议..?

4

2 回答 2

2

您需要FormsAuthentication.SetAuthCookie()在重定向之前致电。

if (FormsAuthentication.Authenticate(TxtUsername.Text, TxtPassword.Text))
{
    FormsAuthentication.SetAuthCookie(TxtUsername.Text, false);
    Response.Redirect(FormsAuthentication.GetRedirectUrl(TxtUsername.Text, false));
}
于 2012-10-25T05:26:29.760 回答
2

真正的罪魁祸首是您的credentials标签..
将其更改为关注..它应该适合您..

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

并且还使用

FormsAuthentication.RedirectFromLoginPage(TxtUsername.Text, false);

身份验证后,这将设置 authCookie 并重定向到请求的页面或您的默认页面..

于 2012-10-25T09:37:22.917 回答