我正在开发一个.NET的ASP.NET Web应用程序,并试图拒绝所有未经授权的用户访问我的应用程序,但只允许他们登录页面。web.config授权拒绝未授权
下面是这是我的System.Web部分内部的代码片段:
<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>
不过我当我没有登录时仍然能够访问页面,我怎么能阻止这种情况发生?
我甚至还添加了一个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 HTTP模块,我真正需要的。
您确定您尚未登录?你不只是有一个身份验证cookie仍然存在于你的机器上,记住你最后的登录? – Paddy 2010-10-06 15:50:24
我刚刚清除了我的浏览器缓存/ cookies并再次尝试,并且仍然允许我访问所有内容 – Malachi 2010-10-06 15:53:04