在企业业务的实际企业Web应用程序中,我们始终需要限制用户单位和角色对数据的访问。
考虑到我们在一个国家拥有一家拥有许多购物商店的企业公司 因此,该公司拥有总部,可以查看所有分支机构的所有发票和统计数据。该国的每个地区都为自己的分支机构管理和规划区域销售策略。然后该地区的用户也可以看到由其分支机构创建的所有发票。每个分支都可以创建发票,客户,并仅查看其数据。
我们可以看到我们有两个主要的访问控制定义:
1-角色(多年前就已经考虑并实施了!):我们可以轻松实现使用RoleProvider并在UI级别控制访问控制(web.config和sitemap.config)
2-单位及其与拒绝/授予用户访问更新/查看数据的角色的关系。
我在ASP.NET中实现了一个自定义主体来获取用户的单元和角色,但我认为应该有一个经典的解决方案......
答案 0 :(得分:0)
检查这些:
http://netsqlazman.codeplex.com/discussions/352107
这是我的解释。
http://granadacoder.wordpress.com/2010/12/01/rant-hard-coded-security-roles/
............
MembershipProvider基于ROLES,....这适用于您孩子的足球俱乐部......不是专业的DotNet应用程序。
有一个“中间立场”的解决方法。
http://www.lhotka.net/weblog/CommentView,guid,9efcafc7-68a2-4f8f-bc64-66174453adfd.aspx
基本上。使用MembershipProvider ......但将单词/短语“Role”视为“Right”。 (在你的想法中......你当然不能改变MS代码中对象的名称)
洛基的坚果(来自上面的网址)
bool result = currentPrincipal.IsInRole(requiredPermission);