如何防止用户在会话到期后访问受限制的页面? ASP.NET C#

时间:2017-03-30 09:11:36

标签: c# asp.net session form-authentication

我创建了一个带有表单身份验证的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;

0 个答案:

没有答案