다음을 통해 공유


ClientRolePrincipal 클래스

정의

역할 정보를 포함하는 클라이언트 애플리케이션 서비스의 보안 정보를 나타냅니다.

public ref class ClientRolePrincipal : System::Security::Principal::IPrincipal
public class ClientRolePrincipal : System.Security.Principal.IPrincipal
type ClientRolePrincipal = class
    interface IPrincipal
Public Class ClientRolePrincipal
Implements IPrincipal
상속
ClientRolePrincipal
구현

예제

다음 예제 코드에서는 이 클래스를 사용하여 사용자가 "관리자" 역할에 있을 때만 단추를 표시하는 방법을 보여 줍니다. 이 예제에서는 초기 Visible 속성 값이 falsemanagerOnlyButton 명명된 Button 필요합니다.

private void DisplayButtonForManagerRole()
{
    try
    {
        ClientRolePrincipal rolePrincipal =
            System.Threading.Thread.CurrentPrincipal 
            as ClientRolePrincipal;

        if (rolePrincipal != null && rolePrincipal.IsInRole("manager"))
        {
            managerOnlyButton.Visible = true;
        }
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the roles service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
}
Private Sub DisplayButtonForManagerRole()

    Try

        Dim rolePrincipal As ClientRolePrincipal = TryCast( _
            System.Threading.Thread.CurrentPrincipal, ClientRolePrincipal)

        If rolePrincipal IsNot Nothing And _
            rolePrincipal.IsInRole("manager") Then

            managerOnlyButton.Visible = True

        End If

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the role service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

End Sub

설명

클라이언트 애플리케이션 서비스에서 사용자의 유효성을 검사할 때 ClientFormsAuthenticationMembershipProvider 또는 ClientWindowsAuthenticationMembershipProviderstaticThread.CurrentPrincipal 속성을 이 클래스의 인스턴스로 설정합니다. ClientFormsAuthenticationMembershipProvider Identity 속성을 ClientFormsIdentity 클래스의 새 인스턴스로 초기화합니다. ClientWindowsAuthenticationMembershipProvider Identity 속성을 staticWindowsIdentity.GetCurrent() 메서드에서 반환된 WindowsIdentity 개체로 초기화합니다.

일반적으로 이 클래스에 직접 액세스하지 않습니다. 일반적으로 staticCurrentPrincipal 속성에서 반환된 IPrincipalIsInRole 메서드를 호출합니다. 그러나 예제 섹션에 설명된 대로 CurrentPrincipal 속성 값을 ClientRolePrincipal 참조로 캐스팅하여 IsInRole 메서드를 명시적으로 호출할 수 있습니다.

생성자

ClientRolePrincipal(IIdentity)

ClientRolePrincipal 클래스의 새 인스턴스를 초기화합니다.

속성

Identity

ClientRolePrincipal연결된 보안 ID를 가져옵니다.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
IsInRole(String)

ClientRolePrincipal 나타내는 사용자가 지정된 역할에 있는지 여부를 나타내는 값을 가져옵니다.

MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보