角色提供程序:SqlRoleProvider 与 AuthorizationStoreRoleProvider 详解
1. SqlRoleProvider 支持动态应用
RoleProvider 基类定义了抽象属性 ApplicationName 。因此,使用 SqlRoleProvider 支持多个应用程序的方式与之前使用 SqlMembershipProvider 的方式相同。在能够基于每个请求动态设置应用程序名称后,我们可以编写一个自定义版本的 SqlRoleProvider,从特定位置读取应用程序名称。
在之前的实现中,使用了一个 HttpModule,它会在查询字符串中查找名为 appname 的变量。根据该变量的存在及其值,该模块会将适当的应用程序名称存储在 HttpContext.Items["ApplicationName"] 中。我们可以将这个模块与自定义版本的 SqlRoleProvider 一起使用。
以下是 C# 和 VB.NET 实现自定义版本的 SqlRoleProvider 的代码:
C# 代码示例
using System;
using System.Web;
using System.Web.Security;
public class CustomRoleProvider : SqlRoleProvider
{
public override string ApplicationName
{
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



