在一個網站中,我使用了PrincipalPermission屬性來限制對某些方法的訪問。如何在PrincipalPermissionAttribute需求失敗時找到所需的角色?
這裏有一個canoncial例如:
class Program
{
static void Main(string[] args)
{
Foo();
}
[System.Security.Permissions.PrincipalPermission(System.Security.Permissions.SecurityAction.Demand, Role = "Winners")]
static void Foo()
{ }
}
如果校長不在指定的角色,則.NET基礎設施投用的通用消息「請求主體權限失敗」一個System.Security.SecurityException。
如果權限檢查失敗,我想記錄PrincipalPermission需要的角色。這對我們的支持人員來說非常有用,他們可以將角色分配給用戶和/或監視日誌以查看是否有可疑事件發生。顯然,出於安全目的,最終用戶仍然會看到通用的未授權消息。我遍歷SecurityException本身,但它沒有任何地方的「角色」。
有無論如何得到這些信息嗎?
啊哈 - 我看得很完美,非常感謝。 –