asp.net-web-api – Web API和.NET 4.5:声明和权利
是否有使用权利管理索赔的最佳做法?
我正在使用新的.net 4.5和新的声明类. new ClaimsIdentity(new List<Claim> { new Claim("Username",user.UserName),new Claim("UserNumber",user.UserNumber.ToString()),new Claim("Creation_Right",""),new Claim("Edit_Right","") } 我添加没有价值的权利主张. 有没有更好的方法呢? 解决方法
也许.看起来您正在做的是将身份验证和授权合并在一起,在身份验证时做出访问策略决策.
您还可以选择将授权组件与身份验证组件分开.声明表示可用于做出授权决定的一组用户信息.也就是说,您的身份验证步骤会产生一组声明,并且每当您的用户尝试访问某些内容时,这些声明都会被提供给授权组件,该组件会做出决定. 这提供了一些灵活性,因为您的授权策略可以独立于您的索赔发布系统进行更改和发展.例如,您可以发出将某人标识为管理员的角色声明,并且您还可以发出一个身份验证方法声明,该声明指定用户如何使用智能卡或用户名和密码登录.这使您可以定义访问策略,只需要管理员角色即可访问某些资源,而其他更敏感的资源则需要管理员角色并使用强大的身份验证机制.它还意味着您可以根据上下文在多个不同的访问策略之间切换.您的在线威士忌商店可能会在美国使用ageOver21声明,但您网站的加拿大版本需要超过18或超过19个声明.将authZ与authN分开可以实现这种灵活性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 应该将ASP.NET应用程序池设置为自动回收?
- .net – 应用程序池回收时Cache会发生什么?
- asp.net-mvc-3 – MVC视图的命名空间问题 – Razor引擎
- asp.net – 在创建aspx之后,在文件后创建代码
- asp.net – 无法将HttpHandler映射到“路径/ *”通配符映射
- Asp.Net MVC EnableClientValidation不起作用
- IIS7 – 一次只能提供一页.这是一个让我crazy!
- C# 快速高效率复制对象另一种方式 表达式树
- asp.net – SignalR在.NET客户端和服务器之间的安全连接
- asp.net-mvc – MVC5基于声明的身份验证 – 适用的声明项目