表单身份验证错误

时间:2011-10-29 05:15:58

标签: c# asp.net web-applications forms-authentication basic-authentication

我的根目录www中有2页:Login.aspxDefault.aspx。如果身份验证正确,我将从Login.aspx重定向到Default.aspx。它工作得很好。

但是,如果我在网络浏览器地址栏的新标签页上写下网址http://localhost:4188/www/Default.aspx,则会直接显示Default.aspx,而不会重定向到Login.aspx

我的网络配置文件如下:

<authentication mode="Forms">
<forms defaultUrl="default.aspx" loginUrl="~/login.aspx" timeout="20"></forms>
</authentication>
<authorization>
<allow users="user"/>
<deny users="*"/>
</authorization>

2 个答案:

答案 0 :(得分:0)

原因可能是您已登录。尝试减少超时并在某段时间后检查。

或者从其他浏览器尝试http://localhost:4188/www/Default.aspx

如果以上其中一项工作正常,这不是问题。由于您已经登录了同一浏览器的新选项卡,因此您将被重定向到默认页面。如果您尝试注销并访问默认页面,则应用程序会将您重定向到登录页面。

答案 1 :(得分:0)

如果您对登录的用户进行解密验证,则可以解决此问题。您可以在default.aspx上设置一个名为log off的按钮并对onClick事件进行编程,如下所示:

 protected void logOffonClick(object sender, EventArgs e)
        {
            FormsAuthentication.SignOut();
            FormsAuthentication.RedirectToLoginPage();
        }