【问题标题】:possible to access page after sign out using Forms Authentication in ASP.net在 ASP.net 中使用 Forms Authentication 注销后可以访问页面
【发布时间】:2012-10-11 19:12:29
【问题描述】:

我正在使用表单身份验证进行用户身份验证。使用登录凭据登录到default.aspx 页面并从default.aspx 页面注销并重定向到login.aspx 页面后。之后,如果我尝试通过直接从 IE 地址栏中选择来加载页面 default.aspx 页面,我可以使用以前的凭据加载该页面。这是退出代码,

protected void Signout_Click(object sender, EventArgs e)
{
    FormsAuthentication.SignOut();
    Session.Clear();
    Response.Redirect("Logon.aspx");
} 

这里是 web.config 中的认证部分

    <authentication mode="Forms">
        <forms loginUrl="logon.aspx" name=".ASPXFORMSAUTH" protection="All" path="/" slidingExpiration="true" timeout="60">
        </forms>
    </authentication>
    <authorization>
        <deny users="?"/>
    </authorization>

流程如下,

1. Login to default page using login credential
2. sign out from default page
3. select the default page directly from address bar.

【问题讨论】:

  • 您的 Page_Load(或母版页类)上是否有任何强制安全检查的内容?
  • 查看 default.aspx 的页面加载部分,protected void Page_Load(object sender, EventArgs e) { Welcome.Text = "Welcome, " + Context.User.Identity.Name; }

标签: c# asp.net forms-authentication


【解决方案1】:
<location path="Default.aspx">
    <system.web>
        <authorization>
        <deny users ="?" />
       </authorization>
    </system.web>
</location>

这会拒绝来自该页面的匿名用户 (Default.aspx)。您还可以将位置设置为整个文件夹。

这应该在 we.config 文件中完成。内。

希望对你有帮助

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 2014-07-15
  • 2021-09-26
  • 2013-11-26
  • 2013-11-08
  • 2014-09-06
相关资源
最近更新 更多