基于角色的访问控制(RBAC) - .Net组件

时间:2010-07-20 13:41:23

标签: c# asp.net rbac role-based

在我的工作中,我们尝试使用Windows Identity Fundation(WIF)或基于成员资格提供程序的某些自定义组件来整合应用程序服务器场的身份验证。

有了这个,我们需要为开发人员(和最终用户)提供一些组件,这些组件可以帮助我们通过角色(RBAC - 基于角色的访问控制)来管理管理视图的逻辑。我找不到任何东西。

这就是主意:用户“管理员”可以查看“主页”和“管理”页面。好吧,就像开发人员一样,我不想编写代码来进行这种分析。为此,我希望使用一个组件来封装这种复杂性。管理事件或应用程序中的操作的相同想法

你知道那样的事吗?类似角色提供者,但像通用组件,可以帮助我(如Moodle或Joomla中的分析)。

仅仅是为了记录,英语不是我的导航语言,我还在学习它。

3 个答案:

答案 0 :(得分:2)

要回答您的问题,是的,可用的.net组件很少,允许任何.net应用程序应用RBAC。

RBAC - 基于角色的访问控制系统是一种基于组织用户的角色限制对“某些源或应用程序或应用程序的某些功能”的访问的方法。在这里,限制可以通过多个权限进行,这些权限由管理员创建以限制访问权限,这些权限共同代表一个角色,该角色将分配给用户。

如果我们在RBAC中稍微深入一点,它基本上包含3个功能。 1)身份验证 - 确认用户的身份。通常通过用户帐户和密码或凭据来完成。 2)授权 - 它定义了用户在应用程序中可以做什么和不能做什么。防爆。允许“修改订单”,但不允许“创建新订单”。 3)审核用户对应用程序的操作。 - 它跟踪用户对应用程序的操作,以及谁已授予哪些用户访问权限?

这是RBAC系统非常基本的顶视图。

ASP.Net Membership Component是实现RBAC的方法之一,您也可以使用基本功能编写自己的系统。

有一些很好的和有用的文章显示了RBAC的简要信息和实现。

http://www.visual-guard.com/EN/net-powerbuilder-application-security-authentication-permission-access-control-rbac-articles/dotnet-security-article-ressources/role-based-access-control.html

http://www.codeproject.com/Articles/875547/Custom-Roles-Based-Access-Control-RBAC-in-ASP-NET

我还建议很少使用组件VisualGuard(@which我工作)以及MemberProtect。

答案 1 :(得分:1)

我为这个问题编写了自己的组件。您可以与Windows目录等接口,但过去我不想通过Windows AD管理应用程序的用户,因此我为自己的应用程序编写了自己的角色和基于权限的子系统。

这项工作并不多,对我来说这非常值得,因为我完全按照我的需要而不再付诸实施。

答案 2 :(得分:1)

我使用Postsharp写了我的,只是通过向需要访问控制的方法添加属性。