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 задает свойство static
Thread.CurrentPrincipal экземпляру этого класса.
ClientFormsAuthenticationMembershipProvider инициализирует свойство Identity в новый экземпляр класса ClientFormsIdentity.
ClientWindowsAuthenticationMembershipProvider инициализирует свойство Identity объекту WindowsIdentity, возвращаемому методом static
WindowsIdentity.GetCurrent().
Обычно доступ к этому классу не выполняется напрямую. Как правило, вы вызовете метод IsInRoleIPrincipal, возвращаемого свойством static
CurrentPrincipal. Однако значение свойства CurrentPrincipal можно привести к ссылке ClientRolePrincipal для явного вызова метода IsInRole, как показано в разделе "Пример".
Конструкторы
ClientRolePrincipal(IIdentity) |
Инициализирует новый экземпляр класса ClientRolePrincipal. |
Свойства
Identity |
Возвращает удостоверение безопасности, связанное с ClientRolePrincipal. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
IsInRole(String) |
Возвращает значение, указывающее, находится ли пользователь, представленный ClientRolePrincipal, в указанной роли. |
MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |