3
我想使用web.config內置的內置目錄安全功能來限制對父頁面的子頁面的訪問。我的結構如下:使用web.config目錄安全性和擴展名網址
- 成員
- 會員/新聞
- 會員/新聞
- 會員/電影
用戶應該能夠有機會獲得各成員父頁面,但不是子頁面。我的問題是,因爲我使用無擴展名的URL,web.config認爲這是一個目錄,因此訪問被阻止。有沒有辦法說只限制訪問子頁面?
我想使用web.config內置的內置目錄安全功能來限制對父頁面的子頁面的訪問。我的結構如下:使用web.config目錄安全性和擴展名網址
用戶應該能夠有機會獲得各成員父頁面,但不是子頁面。我的問題是,因爲我使用無擴展名的URL,web.config認爲這是一個目錄,因此訪問被阻止。有沒有辦法說只限制訪問子頁面?
這個配置應該可以做到。它爲整個網站啓用匿名訪問,除了額外的位置 - 他們需要經過身份驗證的用戶才能工作。
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login" defaultUrl="Members" />
</authentication>
<authorization>
<allow users="?" />
</authorization>
</system.web>
<location path="Members/News">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="Members/Press">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="Members/Movies">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
嗨。雖然這有效,但我希望能夠以某種方式做到這一點,只需在「成員」級別定義它(如擴展名爲.aspx時的工作原理),因爲子頁面是通過CMS進行管理的,所以我可以「保證子頁面是什麼。 – 2010-03-15 15:01:14
我不知道元素是否支持通配符(您是否試過來查看它的行爲方式?)。 如果您需要通配符授權,也許您可以編寫自己的HttpModule來爲您授權。 看看這個人實現了他自己的基本CustomUrlAuthorizationModule:http://forums.asp.net/t/1346678.aspx –
2010-03-15 23:29:03
location屬性不支持通配符,因爲這是我嘗試的第一件事情之一。 CustomUrlAuthorizationModule雖然可能是個問題。我會進一步研究。感謝您的幫助。 – 2010-03-16 10:01:43