我有一个访问Active Directory的类。它会查找域中的用户并检查他们的分组。下面是我的函数定义:
[DirectoryServicesPermission(SecurityAction.LinkDemand, Unrestricted = true)]
public bool IsUserMemberOfGroup(String userName, String groupName)我得到了error CA2135。因此,我将其更改为使用它在MSDN页面中声明的Security critical:
[SecurityCritical]
public bool IsUserMemberOfGroup(String userName, String groupName)现在,我得到了error CA2122,它要求我将其改回使用LinkDemand。除了抑制这个错误之外,我还能做些什么呢?
发布于 2011-10-25 21:42:22
我强烈怀疑CA2122规则尚未完全更新,无法与级别2透明度一起使用。虽然它可以识别SecurityCritical程序集级属性,但它会忽略SecurityCritical程序集中的APTCA类型或成员级属性。添加SecurityCritical属性并抑制CA2122违规可能是安全的,但您可能还希望验证缺少不受限制的DirectoryServicesPermission的代码不能实际调用您的方法。
https://stackoverflow.com/questions/7854566
复制相似问题