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) |