设置用户/角色管理系统 - 具有多租户

是否有人有任何架构,数据模型或建议用于创建考虑多租户的用户/角色管理系统。例如,组织A中的用户可以被分配给某个项目,某个应用程序,组织B中的角色。任何想法?我一直在阅读RBAC,只是寻找一个很好的例子。 谢谢     
已邀请:
这对你有用吗? 如何为访问控制列表(ACL)构建数据模型     
你看过Rhino安全吗?它可能不会完全符合您的要求,但Ayende在帮助您完成安全模型方面做得非常出色。同样的发展过程,可以给你一个很好的起点。     
关于RBAC的简要信息: 基于角色的访问控制系统是一种基于组织用户的角色限制对“某些源或应用程序或应用程序的某些功能”的访问的方法。 这里,限制可以通过多个权限进行,这些权限由管理员用户创建以限制访问,这些权限共同代表一个角色,该角色将分配给用户。 如果我们在RBAC中稍微深入一点,它基本上包含3个功能。 1)身份验证 - 确认用户的身份。通常通过用户帐户和密码或凭据来完成。 2)授权 - 它定义了用户在应用程序中可以做什么和不能做什么。防爆。允许“修改订单”,但不允许“创建新订单”。 3)审核用户对应用程序的操作。 - 它跟踪用户对应用程序的操作,以及谁已授予哪些用户访问权限?这是RBAC系统的非常基本的顶视图。 对于多租户应用程序,我建议使用角色和权限“管理组和用户”。 让我们举个例子。 该应用程序有多个客户端(租户):
Client A – has – 100 users [Tenant A]
Client B – has – 50 users [Tenant B]
Client C – has – 100 users [Tenant C]
因此,情况应该是这样的,应允许该客户端的每个客户端和用户仅访问应用程序的特定功能,并且这些客户端的管理员应该只能管理其用户。 所以,为了解决这个问题,我们可以 定义和管理组(租户) 定义和管理用户或帐户作为组成员(租户) 通过角色或权限限制应用程序中每个租户的访问权限 将安全管理委派给每个客户或组织内的本地用户 如下所示的东西。 组层次结构: 组'客户A'及其后代组将包含'客户A'的用户,以及其他客户或组织的用户。 因此,将为用户分配适当的组,并将角色分配给特定组。 您可以查看本文 - 其中介绍了如何通过我工作的VisualGuard提供的随时可用的框架来处理用户和角色管理的多租户应用程序。 http://www.visual-guard.com/EN/net-powerbuilder-application-security-authentication-permission-access-control-rbac/secure-saas-and-multi-tenant-apps-with-asp-net-或-WCF-Silverlight.php     
您使用的是.NET,但对于PHP世界中的我们,Zend Framework提供了一个轻量级的访问控制框架,使您能够构建自己的ACL实现,使您能够理解这些概念并在.NET中构建自己的http:/ /framework.zend.com/manual/en/zend.acl.introduction.html。 我可以提供一个MYSQL工作台文件,其中包含我们当前正在使用的实现,如果您需要其他帮助     

要回复问题请先登录注册