【发布时间】:2011-04-21 22:07:09
【问题描述】:
我正在为 ASP.NET Web 应用程序开发 .NET,并试图拒绝所有未经授权的用户访问我的应用程序,但只允许他们访问登录页面。
下面是我的 system.web 部分中的代码的 sn-p:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="60" name="APPNAME" slidingExpiration="true" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
我也有这个外部允许访问登录页面:
<location path="Login.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
但是,当我没有登录时,我仍然可以访问页面,我该如何阻止这种情况发生?
我什至在 Main 文件夹中添加了一个 Web.Config 文件,该文件夹存储了大部分网站文件,其内容是:
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
但这仍然没有任何效果。
解决方案
我遵循了一些针对 asp.net (http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx) 的优化技巧,并删除了我真正需要的 AnonymousIdentification httpModule。
【问题讨论】:
-
你确定你没有登录吗?您不只是在您的计算机上仍然存在身份验证 cookie,还记得您上次登录吗?
-
我刚刚清除了浏览器缓存/cookies 并再次尝试,它仍然允许我访问所有内容
标签: .net asp.net .net-4.0 authorization