我正在開發一個.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