Asp.net
為什麼是包含在以下範例中?
?萬用字元代表未經身份驗證的使用者,而*代表所有使用者,經過身份驗證和未經身份驗證。我的書展示了以下 URL 授權範例:<authorization> <deny users="?" /> <allow users="dan,matthew" /> <deny users="*" /> </authorization>但是上面的程式碼是否與以下程式碼具有相同的效果:
<authorization> <allow users="dan,matthew" /> <deny users="*" /> </authorization>
<deny users="?" />或者作者是否出於某種原因也包括 規則?
ASP.NET 優先授予配置文件的訪問權限。在潛在衝突的情況下,第一個發生的授權優先。所以,
deny user="?"拒絕匿名使用者的訪問。然後
allow users="dan,matthew"授予該使用者訪問權限。最後,它拒絕所有人訪問。除了 dan,matthew 之外的所有人都被拒絕訪問,這讓所有人都震驚了。
編輯添加:正如@Deviant 指出的那樣,拒絕未經身份驗證的訪問是沒有意義的,因為最後一個條目也包括未經身份驗證的內容。可以在以下位置找到討論此主題的一個很好的部落格條目:Guru Sarkar 的部落格