다음을 통해 공유


ClientRolePrincipal.IsInRole(String) 메서드

정의

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

public:
 virtual bool IsInRole(System::String ^ role);
public bool IsInRole (string role);
abstract member IsInRole : string -> bool
override this.IsInRole : string -> bool
Public Function IsInRole (role As String) As Boolean

매개 변수

role
String

확인할 역할입니다.

반환

사용자가 지정된 역할에 있는지 true. 사용자가 지정된 역할에 있지 않거나 인증되지 않은 경우 false.

구현

예제

다음 예제 코드에서는 이 메서드를 사용하여 사용자가 "관리자" 역할에 있을 때만 단추를 표시하는 방법을 보여 줍니다. 이 예제에서는 초기 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

설명

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

IsInRole 메서드는 사용자 로그인이 만료된 경우 항상 false 반환합니다. 애플리케이션이 인증 직후에 IsInRole 메서드를 한 번 호출하는 경우에는 발생하지 않습니다. 애플리케이션이 다른 시간에 사용자 역할을 검색해야 하는 경우 로그인이 만료된 사용자의 유효성을 다시 검사하는 코드를 추가할 수 있습니다. 모든 유효한 사용자가 역할에 할당된 경우 ClientRoleProvider.GetRolesForUser 메서드를 호출하여 로그인이 만료되었는지 여부를 확인할 수 있습니다. 역할이 반환되지 않으면 로그인이 만료됩니다. 이 기능의 예는 GetRolesForUser 메서드를 참조하세요. 이 기능은 서버 쿠키가 애플리케이션 구성에서 만료될 때마다 사용자가 다시 로그온하도록 선택한 경우에만 필요합니다.

적용 대상

추가 정보