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 类,使用客户端应用程序服务从现有角色服务中检索角色信息。 配置后,可以通过调用 IsInRole 属性返回static
Thread.CurrentPrincipal的 的 IPrincipal 方法来确定经过身份验证的用户是否处于特定角色中。 对于配置为使用客户端应用程序服务的应用程序,此属性会返回 ClientRolePrincipal。 因为此类实现 IPrincipal 接口,所以无需显式引用它。 方法 ClientRolePrincipal.IsInRole 在内部调用 ClientRoleProvider.IsUserInRole 方法。
ClientRoleProvider类是只读的角色成员身份提供程序,它从 属性指示ServiceUri的角色服务中检索经过身份验证的用户的角色信息。 属性的值 ServiceUri 通常与其他配置值一起从应用程序配置文件中检索。
可以通过 属性检索当前 ClientRoleProvider 实例 static
Roles.Provider 。
类ClientRoleProvider仅GetRolesForUser支持抽象类的 RoleProvider 和 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) |
适用于
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈