ClientRoleProvider 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 Microsoft Ajax 角色服务中获取基于 Windows 的应用程序的角色信息。
public ref class ClientRoleProvider : System::Web::Security::RoleProvider
public class ClientRoleProvider : System.Web.Security.RoleProvider
type ClientRoleProvider = class
inherit RoleProvider
Public Class ClientRoleProvider
Inherits RoleProvider
- 继承
示例
以下示例代码演示如何使用此属性以编程方式设置角色服务位置。
private void SetRolesServiceLocation()
{
((ClientRoleProvider)System.Web.Security.Roles.Provider).ServiceUri =
"http://localhost:55555/AppServices/Role_JSON_AppService.axd";
}
Private Sub SetRolesServiceLocation()
CType(System.Web.Security.Roles.Provider, _
ClientRoleProvider).ServiceUri = _
"http://localhost:55555/AppServices/Role_JSON_AppService.axd"
End Sub
注解
可以通过将应用程序配置为使用 ClientRoleProvider 类,使用客户端应用程序服务从现有角色服务检索角色信息。 配置后,可以通过调用 static
Thread.CurrentPrincipal 属性返回的 IPrincipal 的 IsInRole 方法来确定经过身份验证的用户是否处于特定角色。 对于配置为使用客户端应用程序服务的应用程序,此属性返回 ClientRolePrincipal。 由于此类实现 IPrincipal 接口,因此无需显式引用它。
ClientRolePrincipal.IsInRole 方法在内部调用 ClientRoleProvider.IsUserInRole 方法。
ClientRoleProvider 类是只读角色成员身份提供程序,它从由 ServiceUri 属性指示的角色服务中检索经过身份验证的用户的角色信息。 ServiceUri 属性的值通常从应用程序配置文件和其他配置值检索。
可以通过 static
Roles.Provider 属性检索当前 ClientRoleProvider 实例。
ClientRoleProvider 类仅支持 RoleProvider 抽象类的 GetRolesForUser 和 IsUserInRole 方法。 为特定用户调用其中一种方法时,服务提供商首先检查本地数据缓存中的角色信息。 如果缓存不包含任何角色信息或缓存已过期,则服务提供商将从角色服务检索角色信息并将其添加到缓存。
配置客户端应用程序服务时,可以为角色缓存指定超时期限。 若要强制 GetRolesForUser 方法从服务(而不是本地缓存)检索角色数据,请首先调用 ResetCache 方法。
不能使用 ClientRoleProvider 类来创建或删除角色,也不能修改用户的角色成员身份。 若要创建或修改角色信息,必须在服务器上更改角色服务的配置。
构造函数
ClientRoleProvider() |
初始化 ClientRoleProvider 类的新实例。 |
属性
ApplicationName |
此类不使用此属性。 |
Description |
获取适合在管理工具或其他用户界面(UI)中显示的简短友好说明。 (继承自 ProviderBase) |
Name |
获取用于在配置期间引用提供程序的友好名称。 (继承自 ProviderBase) |
ServiceUri |
获取或设置角色服务的 URI。 |
方法
AddUsersToRoles(String[], String[]) |
此类不使用此方法。 |
CreateRole(String) |
此类不使用此方法。 |
DeleteRole(String, Boolean) |
此类不使用此方法。 |
Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
FindUsersInRole(String, String) |
此类不使用此方法。 |
GetAllRoles() |
此类不使用此方法。 |
GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
GetRolesForUser(String) |
获取指定用户所属的角色的名称。 |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
GetUsersInRole(String) |
此类不使用此方法。 |
Initialize(String, NameValueCollection) |
初始化提供程序。 |
IsUserInRole(String, String) |
获取一个值,该值指示指定的用户是否处于指定角色中。 |
MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
RemoveUsersFromRoles(String[], String[]) |
此类不使用此方法。 |
ResetCache() |
清除缓存的角色信息并重置缓存超时期限。 |
RoleExists(String) |
此类不使用此方法。 |
ToString() |
返回一个表示当前对象的字符串。 (继承自 Object) |