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


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

Примеры

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

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

Обычно доступ к этому классу не выполняется напрямую. Как правило, вы вызовете метод IsInRoleIPrincipal, возвращаемого свойством 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)

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

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