淺析ASP.NET URL授權(quán)
ASP.NET 授權(quán)
可以使用授權(quán)來確定是否一個通過驗證的用戶已經(jīng)訪問了某個特定的資源。這個授權(quán)過程可以讓我們限制用戶的訪問權(quán)限——通過賦予或者取消一個用戶所能擁有的特定權(quán)限。ASP.NET提供了兩種授權(quán)方式:文件授權(quán)和URL授權(quán)。
(1)ASP.NET 文件授權(quán)。當我們使用windows認證的時候,此方式自動生效,它基于IIS的認證。當用戶嘗試訪問某個ASP.NET應(yīng)用的受保護資源的時候,IIS首先對其進行驗證,之后,ASP.NET檢查NTFS文件權(quán)限或者ACL來確定此用戶是否有權(quán)限訪問資源。
(2)ASP.NET URL授權(quán)。當不使用windows認證的時候,可以使用ASP.NET URL授權(quán)。當用戶嘗試訪問某個資源時,ASP.NET URL授權(quán)機制根據(jù)ASP.NET驗證過程分配給application的角色和application的身份來同意或者拒絕請求者對資源的訪問。使用ASP.NET URL授權(quán)可以做如下幾件事情:
◆Deny or allow access to individual users or groups of users.
◆Deny or allow access to specific roles.
◆Restrict access based on the type of HTTP action attempted, such as Get or Post.
例子:
- <authorization>
 - <allow users="Domain\user1, Domain\user2"/>
 - <deny users="*"/>
 - </authorization>
 
拒絕匿名用戶訪問(?代表匿名用戶,*代表任何用戶):
- <authorization>
 - <deny users="?"/>
 - </authorization>
 
只有擁有Domain\Administrators角色的用戶才可訪問:
- <authorization>
 - <allow roles="Domain\Administrators"/>
 - <deny users="*"/>
 - </authorization>
 
注意配置節(jié)中的內(nèi)容是有順序關(guān)系的,ASP.NET查找<authorization>的子項,直到找到了匹配當前用戶的規(guī)則(rule)。
任何人都不能訪問:
- <authorization>
 - <deny users="*"/>
 - <allow roles="Domain\Administrators"/>
 - <allow users="Domain\user1, Domain\user2"/>
 - </authorization>
 
使用Verb屬性可以限制HTTP的動作(Action):
- <allow VERB="POST" users="user1, user2" />
 - <deny VERB="POST" users="*" />
 - <allow VERB="GET" users="*" />
 
以上介紹ASP.NET URL授權(quán)
【編輯推薦】















 
 
 
 
 
 
 