我有一个命中Active Directory的类。它会在域中查找用户并检查其分组。这是我的函数定义:
[DirectoryServicesPermission(SecurityAction.LinkDemand, Unrestricted = true)]
public bool IsUserMemberOfGroup(String userName, String groupName)
我收到错误CA2135。所以我将其更改为使用安全关键,因为它在MSDN页面中声明:
[SecurityCritical]
public bool IsUserMemberOfGroup(String userName, String groupName)
现在,我收到错误CA2122,要求我将其更改回使用LinkDemand。如果没有压制这个错误,我能做些什么吗?
答案 0 :(得分:2)
我强烈怀疑CA2122规则尚未完全更新以使用2级透明度。虽然它识别SecurityCritical程序集级属性,但它忽略APTCA程序集中的SecurityCritical类型或成员级属性。添加SecurityCritical属性并抑制CA2122违规可能是安全的,但您可能还需要验证缺少无限制DirectoryServicesPermission的代码无法实际调用您的方法。