【发布时间】:2012-07-17 05:19:51
【问题描述】:
我正在开发一种 CRM 系统,它需要一个基于数据的*ed 安全机制,而不是基于角色的安全机制。
比如系统中的某个用户可以view所有客户端,update自己的客户端。
因此,基于角色的安全在这里不会有帮助,因为所有销售人员都有相同的角色:sales_user_role。
我需要通过在每个 client 行中都有一个字段来区分它们:sales_owner_id
if(client.salesOwnerId.Equales(httpSession["user_id"]){
delete...
update...
}
在上述情况下,client 对象是具有 salesOwnerId 的客户实体。
由于上面是意大利面条代码,我想在数据驱动的安全框架中进行。
我正在使用 c# .NET4、MVC3、WCF、Nhibernate 和 Spring 进行依赖注入。
(我看到 rhino security 可以做到这一点,但没有记录,学习资源也很少)
谢谢
【问题讨论】:
-
您所描述的是“所有者”的隐含角色,每个用户将拥有与他们在数据库中拥有的对象相关的角色......需要根据所有权确定授权的对象将需要在服务或 BO 中提供某种“交互用户是我的所有者”的方法。
-
我可以为 Rhino Security 担保。阅读单元测试,它们很容易理解。
标签: .net data-driven security-framework