2010-08-04 82 views
1

我故意減少了方法的權限,以查看IsGranted方法是否有效,但是沒有。這裏是我的代碼:無法理解SecurityManager.IsGranted()

[FileIOPermission(SecurityAction.Deny, Read = "d:\\faz.txt")] 
void aMethod() 
{ 
    Console.WriteLine(SecurityManager.IsGranted(new 
    FileIOPermission(FileIOPermissionAccess.Read,"d:\\faz.txt"))); 

} 

該方法返回true,即使該方法從未授予該權限。有人可以解釋一下這個問題嗎?

回答

0

我不認爲你正確使用它。您不需要創建FileIOPermission的新實例並使用應用於該方法的實例。

這導致另一個問題。如果您的安全性正常工作,該方法如何執行?

+0

您的回答不明確。你能告訴我在什麼情況下應該使用IsGranted方法嗎? – fazxclusive 2010-08-08 07:45:24

+1

@fazxclusive:通過反射檢索方法上的屬性實例。 – leppie 2010-08-09 13:34:15