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 задает static
Thread.CurrentPrincipal для свойства значение экземпляра этого класса. Инициализирует ClientFormsAuthenticationMembershipProviderIdentity свойство новым экземпляром ClientFormsIdentity класса . Инициализирует IdentityClientWindowsAuthenticationMembershipProvider свойство объектом , WindowsIdentity возвращаемым методом static
WindowsIdentity.GetCurrent() .
Как правило, вы не будете обращаться к этому классу напрямую. Обычно вызывается IsInRole метод объекта , IPrincipal возвращаемого свойством 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) |
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по