在 MSDN FileSystemWatcher Class 页面上,它包含一个具有以下类属性的示例:
[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
这样做的目的是什么?什么时候应该包含或不包含?
FileSystemWatcher 类帮助页面在这里:http: //msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx
在 MSDN FileSystemWatcher Class 页面上,它包含一个具有以下类属性的示例:
[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
这样做的目的是什么?什么时候应该包含或不包含?
FileSystemWatcher 类帮助页面在这里:http: //msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx
该类对无限制FileSystemWatcher
的CAS 权限有链接需求。这意味着它将验证其直接调用者(即您的代码,如果您直接使用该类)具有不受限制的权限。
不幸的是,使用链接请求会带来潜在的安全漏洞,因为间接调用者(即调用您的代码的代码)的权限未通过链接请求进行验证。这意味着具有受限权限的间接调用者可能能够操纵您高度信任的代码代表它做一些邪恶的事情,否则它没有权限完成。
防止此类攻击的方法之一是将您自己对相同权限的全部要求应用于使用具有链接要求的类型或成员的任何代码。这将确保任何间接调用者都将受到相同的权限要求,从而确保他们无法通过您的代码做任何他们自己无法做到的事情。MSDN 示例代码FileSystemWatcher
演示了这种完整需求的应用。