2010-08-04 41 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