방법: WindowsPrincipal 개체 만들기
코드에서 역할 기반 유효성 검사를 반복적으로 수행해야 하는지 또는 한 번만 수행해야 하는지에 따라 WindowsPrincipal 개체를 만드는 두 가지 방법이 있습니다.
코드에서 역할 기반 유효성 검사를 반복적으로 수행해야 하는 경우 다음 절차 중 첫 번째 절차가 더 적은 오버헤드를 생성합니다. 코드에서 역할 기반 유효성 검사를 한 번만 수행해야 하는 경우 다음 절차 중 두 번째 절차를 사용하여 WindowsPrincipal 개체를 만들 수 있습니다.
반복된 유효성 검사를 위한 WindowsPrincipal 개체를 만들려면
새 정책에 대한 요구 사항을 나타내는 PrincipalPolicy 열거형 값을 메서드에 전달하여 정적 AppDomain.CurrentDomain 속성에 의해서 반환된 AppDomain 개체에서 SetPrincipalPolicy 메서드를 호출합니다. 지원되는 값은 NoPrincipal, UnauthenticatedPrincipal 및 WindowsPrincipal입니다. 다음 코드에서는 이 메서드 호출을 보여 줍니다.
AppDomain.CurrentDomain.SetPrincipalPolicy( PrincipalPolicy.WindowsPrincipal);
AppDomain.CurrentDomain.SetPrincipalPolicy( _ PrincipalPolicy.WindowsPrincipal)
정책을 설정한 후 정적 Thread.CurrentPrincipal 속성을 사용하여 현재 Windows 사용자를 캡슐화하는 보안 주체를 검색합니다. 속성 반환 형식이 IPrincipal이므로 결과를 WindowsPrincipal 형식으로 캐스팅해야 합니다. 다음 코드에서는 새 WindowsPrincipal 개체를 현재 스레드와 연결된 보안 주체의 값으로 초기화합니다.
WindowsPrincipal myPrincipal = (WindowsPrincipal) Thread.CurrentPrincipal;
Dim myPrincipal As WindowsPrincipal = _ CType(Thread.CurrentPrincipal, WindowsPrincipal)
보안 주체 개체가 생성되면 여러 메서드 중 하나를 사용하여 유효성을 검사할 수 있습니다.
단일 유효성 검사를 위한 WindowsPrincipal 개체를 만들려면
현재 Windows 계정을 쿼리하고 해당 계정에 대한 정보를 새로 만든 ID 개체에 배치하는 정적 WindowsIdentity.GetCurrent 메서드를 호출하여 새 WindowsIdentity 개체를 초기화합니다. 다음 코드에서는 새 WindowsIdentity 개체를 만들고 현재 인증된 사용자로 초기화합니다.
WindowsIdentity myIdentity = WindowsIdentity.GetCurrent();
Dim myIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()
새 WindowsPrincipal 개체를 만들고 이전 단계에서 만든 WindowsIdentity 개체의 값을 전달합니다.
WindowsPrincipal myPrincipal = new WindowsPrincipal(myIdentity);
Dim myPrincipal As New WindowsPrincipal(myIdentity)
보안 주체 개체가 생성되면 여러 메서드 중 하나를 사용하여 유효성을 검사할 수 있습니다.
참고 항목
.NET