如何检查并确保一个类使用我自己的自定义安全属性?我知道我可以使用反射来获取普通属性,但是如果自定义属性基于如下所示的安全属性,则反射不会显示它。有什么办法可以检查吗?
为什么我需要这个是为了确保加载到基于云的系统的插件必须使用安全属性,以便加载的类无法访问任何受限制的文件等等。
这是我正在使用的自定义安全类:
public class PluginSection : CodeAccessSecurityAttribute
{
public PluginSection(SecurityAction action)
: base(action)
{
}
public override IPermission CreatePermission()
{
// WebSites.GetInstance().LocalBaseDir returns the base directory where the class has accesss to login
return new FileIOPermission(FileIOPermissionAccess.Write, WebSites.GetInstance().LocalBaseDir);
}
}
我必须使用基于 CodeAccessSecurityAttribute 的类,这样 FileIOPermission 才能工作。
此外,如果有另一种方法来限制正在加载的插件的访问,我也可以使用它。