我的根目录www中有2页:Login.aspx
和Default.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>
答案 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();
}