다음을 통해 공유


PrincipalPermission.Intersect(IPermission) 메서드

정의

현재 사용 권한 및 지정된 사용 권한의 공통 권한을 만들어 반환합니다.

public:
 virtual System::Security::IPermission ^ Intersect(System::Security::IPermission ^ target);
public System.Security.IPermission Intersect (System.Security.IPermission target);
abstract member Intersect : System.Security.IPermission -> System.Security.IPermission
override this.Intersect : System.Security.IPermission -> System.Security.IPermission
Public Function Intersect (target As IPermission) As IPermission

매개 변수

target
IPermission

현재 사용 권한과 공통되는 사용 권한입니다. 현재 사용 권한과 동일한 형식이어야 합니다.

반환

현재 사용 권한과 지정된 사용 권한의 교집합에 해당하는 권한을 나타내는 새 사용 권한입니다. 공통 사용 권한이 없으면 이 새 사용 권한이 null 입니다.

구현

예외

target 매개 변수가 null이 아니고 현재 사용 권한과 동일한 클래스의 인스턴스가 아닌 경우

설명

두 사용자가 교차하지 않으므로 이 메서드는 에 PrincipalPermission유용하지 않습니다. 예를 들면 다음과 같습니다.

PrincipalPermission^ ppBob = gcnew PrincipalPermission("Bob", "Administrator");
PrincipalPermission^ ppLouise = gcnew PrincipalPermission("Louise", "Administrator");
IPermission^ pp1 = ppBob->Intersect(ppLouise);
PrincipalPermission ppBob = new PrincipalPermission("Bob", "Administrator");
PrincipalPermission ppLouise = new PrincipalPermission("Louise", "Administrator");
IPermission pp1 = ppBob.Intersect(ppLouise);
Dim ppBob As New PrincipalPermission("Bob", "Administrator")
Dim ppLouise As New PrincipalPermission("Louise", "Administrator")
Dim pp1 As IPermission = ppBob.Intersect(ppLouise)

위의 식은 아래의 식과 동일합니다.

IPermission^ pp1 = gcnew PrincipalPermission("", "Administrator");
IPermission pp1 = new PrincipalPermission("", "Administrator");
Dim pp1 As IPermission = New PrincipalPermission("", "Administrator")

왜냐하면 어떤 ID도 Bob과 Louise를 동시에 나타낼 수 없기 때문입니다. 실제로 pp1.Demand() 는 인증되지 않은 보안 주체(이름이 빈 문자열("")와 같음)가 관리자 역할에서 작동할 수 있는 경우에만 성공합니다.

적용 대상