ClientRolePrincipal 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示客户端应用程序服务的安全信息,其中包括角色信息。
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
- 实现
示例
以下示例代码演示如何仅在用户处于“经理”角色时使用此类来显示按钮。 此示例需要一个名为 managerOnlyButton
的 Button,其初始 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 类的新实例。
ClientWindowsAuthenticationMembershipProvider 将 Identity 属性初始化 static
WindowsIdentity.GetCurrent() 方法返回的 WindowsIdentity 对象。
通常不会直接访问此类。 通常,你将调用 static
CurrentPrincipal 属性返回的 IPrincipal 的 IsInRole 方法。 但是,可以将 CurrentPrincipal 属性值强制转换为 ClientRolePrincipal 引用,以显式调用 IsInRole 方法,如示例部分所示。
构造函数
ClientRolePrincipal(IIdentity) |
初始化 ClientRolePrincipal 类的新实例。 |
属性
Identity |
获取与 ClientRolePrincipal关联的安全标识。 |
方法
Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
IsInRole(String) |
获取一个值,该值指示由 ClientRolePrincipal 表示的用户是否处于指定角色中。 |
MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
ToString() |
返回一个表示当前对象的字符串。 (继承自 Object) |