Asp.net Authorization 学习
其实使用新的Identity以来一直有一个疑惑,之前的角色管理 在新的Identity中怎么管理的。[AspNetUserClaims] 在新的授权管理中又占什么位置
第一,根据角色授权,刚刚注册的用户无法访问这个Action,如果访问会跳转到登录页面,重新登录如下图
[Authorize(Roles = "HRManager,Finance")] public ActionResult About() { ViewBag.Message = "Your application description page. tseedkdfkdk"; return View(); }
第二,如果我们给用户增加角色,然后重新登录后可以进入about页面。
insert AspNetRoles (Id,name) values ('1','HRManager') insert AspNetRoles (Id,name) values ('2','Finance') insert AspNetRoles (Id,name) values ('3','Administrator') ---给用户分派角色
insert [AspNetUserRoles] (UserId,RoleId)
select '876ac261-ee8d-42ac-8a32-d18c5ebd3d98',id from AspNetRoles
第三 我们使用Claim方式授权 ,重新注册一个用户没有任何角色,我们分派一个Claim,然后重新登录,也可以进入到about页面。
insert [AspNetUserClaims](UserId,ClaimType,ClaimValue) values ('932205f3-65f6-469a-9e99-bb64f06e49c9','http://schemas.microsoft.com/ws/2008/06/identity/claims/role','HRManager')
结论:使用AspNetRoles 和Claim Role 授权 对[Authorize(Roles = "HRManager,Finance")] 有相同的效果。
posted on 2017-04-21 16:00 HelloHongfu 阅读(538) 评论(0) 编辑 收藏 举报