在企业业务的真实世界企业 Web 应用程序中,我们总是需要通过用户的单位和角色来限制对数据的访问。
假设我们有一家企业公司,在一个国家/地区拥有许多购物商店。
因此,公司的总部可以查看所有分支机构的所有发票和统计数据。该国的每个地区都为其自己的分支机构管理和规划区域销售策略。然后该地区的用户也可以看到其分支机构创建的所有发票。每个分支机构都可以创建发票、客户并仅查看其数据。
我们可以看到我们有两个主要的访问控制定义:
1- 角色(多年前就已经考虑并实现了!):我们可以使用 RoleProvider 轻松实现并控制 UI 级别的访问控制(web.config 和 sitemap.config)
2- 拒绝/授予用户更新/查看数据访问权限的单位及其与角色的关系。
我已经在 ASP.NET 中实现了一个自定义主体来获取用户的单位和角色,但我认为应该有一个经典的解决方案......