Поделиться через


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

Примеры

В следующем примере кода показано, как использовать этот класс для отображения кнопки только в том случае, если пользователь находится в роли "менеджер". Для этого примера требуется именованный ButtonmanagerOnlyButton объект с начальным 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 задает staticThread.CurrentPrincipal для свойства значение экземпляра этого класса. Инициализирует ClientFormsAuthenticationMembershipProviderIdentity свойство новым экземпляром ClientFormsIdentity класса . Инициализирует IdentityClientWindowsAuthenticationMembershipProvider свойство объектом , WindowsIdentity возвращаемым методом staticWindowsIdentity.GetCurrent() .

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

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

ClientRolePrincipal(IIdentity)

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

Свойства

Identity

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

Методы

Equals(Object)

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

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

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

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

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

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

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

MemberwiseClone()

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

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

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

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

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

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