roleManager与角色管理授权
总览地址
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与角色管理授权的更多相关文章
- RoleManager 进行角色管理
ASP.NET Identity 使用 RoleManager 进行角色管理 (VS2013RC) 注:本文系作者原创,但可随意转载. 最近做一个Web平台系统,系统包含3个角色,“管理员, 企业用户 ...
- ASP.NET Identity 使用 RoleManager 进行角色管理 (VS2013RC)
注:本文系作者原创,但可随意转载. 最近做一个Web平台系统,系统包含3个角色,“管理员, 企业用户, 评审专家”, 分别有不同的功能.一直以来都是使用微软封装好的Microsoft.AspNet.I ...
- Oracle用户、授权、角色管理
创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...
- Oracle 用户、授权、角色管理
Oracle 用户管理 一.创建用户的Profile文件SQL> create profile student limit // student为资源文件名FAILED_LOGIN_ATTEMP ...
- Module Zero之角色管理
返回<Module Zero学习目录> 角色实体 角色管理者 多租户 角色实体 角色实体代表了该应用的一个角色.它应该派生自AbpRole类,如下所示: public class Role ...
- ASP.NET MVC 随想录——探索ASP.NET Identity 身份验证和基于角色的授权,中级篇
在前一篇文章中,我介绍了ASP.NET Identity 基本API的运用并创建了若干用户账号.那么在本篇文章中,我将继续ASP.NET Identity 之旅,向您展示如何运用ASP.NET Ide ...
- ASP.NET Identity 身份验证和基于角色的授权
ASP.NET Identity 身份验证和基于角色的授权 阅读目录 探索身份验证与授权 使用ASP.NET Identity 身份验证 使用角色进行授权 初始化数据,Seeding 数据库 小结 在 ...
- 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...
- Asp.Net Core--基于角色的授权
翻译如下: 当创建身份时,它可以属于一个或多个角色,例如Tracy可以属于管理员和用户角色,而Scott可以仅属于用户角色. 如何创建和管理这些角色取决于授权过程的后备存储. 角色通过ClaimsPr ...
随机推荐
- HTML和CSS经典布局5
如下图: 需求: 1. 如图 2. 可以从body标签开始. 3. 页面内容高度设置高点,把窗口的滚动条显示出来,但是busy indicator不滚动. <!DOCTYPE html> ...
- 剑指Offer面试题:25.二叉搜索树与双向链表
一.题目:二叉搜索树与双向链表 题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向.比如输入下图中左边的二叉搜索树,则输出转换之后的 ...
- SQL Server null知多少?
null是什么? 不知道.我是说,他的意思就是不知道(unknown). 它和true.false组成谓词的三个逻辑值,代表“未知”.与true和false相比,null最难以令人捉摸,因为它没有明确 ...
- Linux 查找已安装软件的方法
1.rpm 注意rpm区分大小写 查询已安装的以mysql开头的包 rpm -qa mysql* 查询已安装的mysql 包 rpm -qa|grep mysql rpm的方法有时候也所有已安装的包 ...
- OAuth2 Backend Web Application 验证过程
本文是从我的 github 博客转载的,原文请看. 一图胜千言.图片请自由转载,请保留图片的原始签名.
- Java static 的一两点使用
这篇文章是关于Java static关键字的使用,主要会介绍以下的内容: static 的概念 static的各种应用 总结 static 是什么 static 顾名思义是静态的意思.与this相对, ...
- 获取Linux主机的CPU、内存、主板、BIOS的信息(Centos)
#!/usr/bin/env python #coding:utf-8 import subprocess import re def Cmd_Exec(cmd): ''' 执行获取信息命令 :par ...
- 日志log
public class LoggerHelper { private static Queue<string> qMsg = null; private static string lo ...
- Trace Flag
Trace Flag能够影响Sql Server的行为,主要用于diagnose performance issue,官方解释是: Trace flags are used to temporaril ...
- JS函数无响应
自己定义了一个函数,比如说叫 addClass(),当按钮单击的时候响应 在添加了一些第三方Open JS API后就没反应了 原因分析:在代码没变动的情况下,很有可能是自己定义的函数名和第三方的冲突 ...