我创建了一个带有表单身份验证的asp.net网站。问题是会话到期时,如果我点击只有管理员可以查看的页面,用户仍然可以看到网站而不是重定向到登录页面。仅当会话自动过期时才会发生这种情况。如果我手动注销然后尝试访问受限制的页面,那么我会被要求登录。非常感谢任何帮助。
的Web.config
<authentication mode="Forms">
<forms loginUrl="~/Default.aspx" name="MyCustomAuthentication" timeout="2" slidingExpiration="true"/>
</authentication>
<sessionState timeout="2"/>
限制用户的Web.config
<system.web>
<authorization>
<allow roles="Admin" />
<deny users="*"/>
</authorization>
我也在登录页面的page_load上有这个
if (!Page.IsPostBack)
{
if (Request.IsAuthenticated && !string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
// This is an unauthorized, authenticated request...
Response.Redirect("~/Unauthorized.aspx");
}
lblMessage.Text = "";
FormsAuthentication.SignOut();
Session.RemoveAll();
GlobalVariables.GlobalFullName = string.Empty;