总览地址

https://msdn.microsoft.com/zh-cn/library/9ab2fxh0.aspx

其中基本概述是第一篇:了解角色管理

来自 <https://msdn.microsoft.com/zh-cn/library/5k850zwb.aspx>

第二篇是类的参考而已,以后进阶使用时可供查询之用。

最后一篇是介绍自定义角色提供程序RoleProvider要重写的方法及方法的描述。

若要使用角色管理,首先要启用它,并配置能够利用角色的访问规则(可选)。然后可以在运行时使用角色管理功能处理角色。

<roleManager
enabled="true"
cacheRolesInCookie="true" >
</roleManager>

再配置授权部分,则角色与权限的关联就建立起来

<authorization>
<allow roles="members" />
<deny users="*" />
</authorization>

剩余部分是用户与角色的关联。如果使用的是Windows身份认证,则使用回windows本身的用户与角色组之间的关联;如果使用的是Forms身份认证,则需要使用以下代码来实现

///创建角色
Roles.CreateRole("members");
///角色与用户关联
Roles.AddUsersToRole("JoeWorden", "manager");
string[] userGroup = new string[];
userGroup[] = "JillShrader";
userGroup[] = "ShaiBassli";
Roles.AddUsersToRole(userGroup, "members");

角色需要先建立,但一次建立后下次重复建立则会报错,同样用户添加角色也会重复添加会报错。

验证用户是否具有指定角色,可以用Iprincipal的IsInRole方法,而获取用户有多少角色,则需要用RolePrincipal的GetRoles()方法了。当启用了角色管理后,User则是RolePrincipal的实例。

缓存角色信息

如果用户的浏览器允许 Cookie,则 ASP.NET 可以选择在用户计算机的加密 Cookie 中存储角色信息。在每个页面请求中,ASP.NET 读取 Cookie 并根据 Cookie 填充该用户的角色信息。此策略可最大程度地减小从数据库中读取角色信息的需要。如果用户的浏览器不支持 Cookie 或者 Cookie 已禁用,则只在每个页面请求期间缓存角色信息。

角色提供程序

默认情况下使用的RoleProvider是SqlRoleProvider,它的连接字符串是data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true,数据库存放于项目文件夹App_Data中,可是库的现在尚未附加成功,因而无法查看里面内容。

roleManager与角色管理授权的更多相关文章

  1. RoleManager 进行角色管理

    ASP.NET Identity 使用 RoleManager 进行角色管理 (VS2013RC) 注:本文系作者原创,但可随意转载. 最近做一个Web平台系统,系统包含3个角色,“管理员, 企业用户 ...

  2. ASP.NET Identity 使用 RoleManager 进行角色管理 (VS2013RC)

    注:本文系作者原创,但可随意转载. 最近做一个Web平台系统,系统包含3个角色,“管理员, 企业用户, 评审专家”, 分别有不同的功能.一直以来都是使用微软封装好的Microsoft.AspNet.I ...

  3. Oracle用户、授权、角色管理

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  4. Oracle 用户、授权、角色管理

    Oracle 用户管理 一.创建用户的Profile文件SQL> create profile student limit // student为资源文件名FAILED_LOGIN_ATTEMP ...

  5. Module Zero之角色管理

    返回<Module Zero学习目录> 角色实体 角色管理者 多租户 角色实体 角色实体代表了该应用的一个角色.它应该派生自AbpRole类,如下所示: public class Role ...

  6. ASP.NET MVC 随想录——探索ASP.NET Identity 身份验证和基于角色的授权,中级篇

    在前一篇文章中,我介绍了ASP.NET Identity 基本API的运用并创建了若干用户账号.那么在本篇文章中,我将继续ASP.NET Identity 之旅,向您展示如何运用ASP.NET Ide ...

  7. ASP.NET Identity 身份验证和基于角色的授权

    ASP.NET Identity 身份验证和基于角色的授权 阅读目录 探索身份验证与授权 使用ASP.NET Identity 身份验证 使用角色进行授权 初始化数据,Seeding 数据库 小结 在 ...

  8. 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...

  9. Asp.Net Core--基于角色的授权

    翻译如下: 当创建身份时,它可以属于一个或多个角色,例如Tracy可以属于管理员和用户角色,而Scott可以仅属于用户角色. 如何创建和管理这些角色取决于授权过程的后备存储. 角色通过ClaimsPr ...

随机推荐

  1. UI控件(UIToolbar)

    @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; _toolbar = [[UIToolbar all ...

  2. 利用Generator解决异步回调原理

    var i = 0; i++; function ajax(url){ return new Promise(function(resolve, reject){ setTimeout(functio ...

  3. 利用gulp解决前后端分离的header/footer引入问题

    在我们进行前后端完全分离的时候,有一个问题一直是挺头疼的,那就是公共header和footer的引入.在传统利用后端渲染的情况下,我们可以把header.footer写成两个单独的模板,然后用后端语言 ...

  4. Module-Zero之版本管理

    返回<Module Zero学习目录> 概要介绍 版本实体 版本管理者 概要介绍 绝大多数的SaaS(多租户)应用都有多个具有不同特征的版本(包).因此,他们可以给租户(即客户)提供不同的 ...

  5. Attribute富文本使用方法

    ★★★Attribut富文本★★★ 在UITextView和UILable的使用中很多的时候会用到富文本. UITextView和UILable的区别在于: ★★★★UITextView 当文字大于一 ...

  6. 20个JS优化代码技巧

    原文网址链接为:http://www.jstips.co/ .截取了一部分本人认为比较实用的技巧分享给大家.其中一小部分技巧为JS面向对象的写法,不宜一一列出.关于JS面向对象的写法可参考本人前几篇随 ...

  7. SQLServer比较两条数据是否相同

    SQLServer比较两条数据是否相同 直接比较可能会一个一个字段的比较,也可以将多个字段拼成一个串然后比较,这里有个hash值比较的方法,很好用 用法 将需要的比较的column放进去,逗号隔开,只 ...

  8. 服务器.htaccess 详解以及 .htaccess 参数说明(转载)

    htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限 ...

  9. OpenCascade B-Spline Basis Function

    OpenCascade B-Spline Basis Function eryar@163.com Abstract. B-splines are quite a bit more flexible ...

  10. WPF MVVM下做发送短信小按钮

    最近做一个项目,因为涉及到注册,因此需要发送短信,一般发送短信都有一个倒计时的小按钮,因此,就做了一个,在此做个记录. 一.发送消息 没有调用公司的短信平台,只是模拟前台生成一串数字,将此串数字输出一 ...