2011-10-21 1 views
3

나는 Active Directory를 공격하는 클래스가 있습니다. 도메인에서 사용자를 조회하고 그룹화를 확인합니다. 다음은 함수 정의입니다.CA2135 및 CA2122 전투

[DirectoryServicesPermission(SecurityAction.LinkDemand, Unrestricted = true)] 
public bool IsUserMemberOfGroup(String userName, String groupName) 

오류 CA2135이 표시됩니다. 그래서 나는 그것이 MSDN 페이지에서 상태로 보안이 중요한 사용 변경 :

[SecurityCritical] 
public bool IsUserMemberOfGroup(String userName, String groupName) 

지금, 나는 LinkDemand를 사용하여 다시 변경하라고 요청 오류 CA2122을 얻을. 이 오류를 보완하지 못하면 내가 할 수있는 일이 있을까요?

답변

2

CA2122 규칙이 레벨 2 투명성을 위해 완전히 업데이트되지 않았을 것으로 생각됩니다. SecurityCritical 어셈블리 수준 특성을 인식하지만 APTCA 어셈블리에서 SecurityCritical 형식 또는 멤버 수준 특성을 무시합니다. SecurityCritical 속성을 추가하고 CA2122 위반을 억제하는 것이 안전 할 수 있지만 제한되지 않은 DirectoryServicesPermission이없는 코드가 실제로 메소드를 호출 할 수 없는지 확인할 수도 있습니다.