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



我正在开发一种CRM系统,它需要有一个数据基础*ed安全机制,而不是基于角色的安全机制。

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

因此,基于角色的安全性在这里没有帮助,因为所有的销售人员都有相同的角色:sales_user_role

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

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

在上述情况下,CCD_ 5对象是具有salesOwnerId的客户端实体
由于以上是意大利面条代码,我想在数据驱动的安全框架中完成它。

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

(我看到犀牛安全这样做,但它没有记录在案,学习资源也很少)

感谢

使用经典的基于角色的授权,例如RoleProvider,您仍然可以实现您想要的功能。

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

ViewOwnClients
ViewAllClients
UpdateOwnClients
UpdateAllClients
DeleteOwnClients
DeleteAllClients

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

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

相关内容

  • 没有找到相关文章

最新更新