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
Реализации

Примеры

В следующем примере кода показано, как использовать этот класс для отображения кнопки только в том случае, если пользователь находится в роли "руководитель". В этом примере требуется именованный Button managerOnlyButton с начальным Visible значением falseсвойства .

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 приложений или ClientWindowsAuthenticationMembershipProvider свойству static Thread.CurrentPrincipal присваивается экземпляр этого класса. Инициализирует ClientFormsAuthenticationMembershipProvider Identity свойство новым экземпляром ClientFormsIdentity класса. Инициализирует Identity ClientWindowsAuthenticationMembershipProvider свойство объектуWindowsIdentity, возвращаемому методом static WindowsIdentity.GetCurrent().

Обычно доступ к этому классу невозможен напрямую. Как правило, метод возвращаемого IPrincipal свойством CurrentPrincipal static вызываетсяIsInRole. Однако значение свойства можно привести CurrentPrincipal к ссылке ClientRolePrincipal для явного IsInRole вызова метода, как показано в разделе Example.

Конструкторы

ClientRolePrincipal(IIdentity)

Инициализирует новый экземпляр класса ClientRolePrincipal.

Свойства

Identity

Возвращает идентификацию безопасности, связанную с классом ClientRolePrincipal.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsInRole(String)

Возвращает значение, позволяющее определить, может ли пользователь, представленный классом ClientRolePrincipal, выполнять указанную роль.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел