寻找.net的数据驱动安全框架

时间:2012-07-17 05:19:51

标签: .net data-driven security-framework

我正在开发一种CRM系统,需要比基于角色的安全机制更具数据基础* ed 安全机制。

例如,系统中的某个用户可以view所有客户端,update他自己的​​客户。

因此,基于角色的安全性不会对此有所帮助,因为所有销售人员都具有相同的角色:sales_user_role

我需要通过在每个客户端行中添加一个字段来区分它们:sales_owner_id

if(client.salesOwnerId.Equales(httpSession["user_id"]){
   delete...
   update...

}

在上述情况下,client对象是具有salesOwnerId的客户端实体 由于以上是意大利面条代码,我想在数据驱动的安全框架工作中这样做。

我正在使用c#.NET4,MVC3,WCF,Nhibernate和Spring进行依赖注入。

(我看到这样做的rhino安全性,但没有记录,并且学习资源很少)

由于

1 个答案:

答案 0 :(得分:0)

您仍然可以通过基于角色的经典授权实现所需目标,例如RoleProvider

例如,您可以拥有以下角色:

ViewOwnClients
ViewAllClients
UpdateOwnClients
UpdateAllClients
DeleteOwnClients
DeleteAllClients

您仍然需要代码来测试所有者ID,例如:

if ((User.IsInRole("UpdateAllClients") ||
    (User.IsInRole("UpdateOwnClients") && client.OwnerId = currentUserId))
{
    ...
}