【问题标题】:MVC .NET - Is there a security framework that allows permission based systemMVC .NET - 是否有允许基于权限的系统的安全框架
【发布时间】:2012-05-11 04:01:31
【问题描述】:

我是 MVC .Net 的新手。我想实现一个 RBAC 系统。我有某些成员可以执行的某些操作/权限。

是否有允许我这样做的安全框架?

更多信息

我正在寻找类似于论坛的东西 - 用户可以发布新帖子,回复他们等。另一方面,版主应该有权修改帖子,禁止用户等以及提供给普通用户的权限。

我读到.NET 框架提供了一个成员表。我对此没有太多了解,但据我了解,它只是将用户分组为某些成员。它没有权限的概念。

我是否必须在 Membership 表的顶部添加另一层(似乎我正在重新发明轮子),或者是否已经有一个框架可以做到这一点。

【问题讨论】:

    标签: c# asp.net-mvc-3 security rbac


    【解决方案1】:

    您应该看看 Rhino Security - 它允许您定义自己的操作并将权限应用于特定的组/用户/等

    http://ayende.com/blog/3109/rhino-security-overview-part-i

    【讨论】:

      【解决方案2】:

      您可以使用 Membership 提供程序,但它使用起来可能很复杂,而且经常令人困惑。我会从小事做起,一路向上,Membership Provider 非常适合单点登录 (SSO) 之类的事情,在这种情况下您有多个应用程序但只有一个身份验证点。

      否则,使用 MVC 中的 AuthorizeAttribute。您可以对其进行子类化并创建一个完全符合您需要的属性扩展。

      【讨论】:

      【解决方案3】:

      阅读MembershipRole 提供程序。它们旨在满足您的要求。

      角色提供者的基本工作是与数据交互 源包含包含将用户映射到角色的角色数据,以及 提供创建角色、删除角色、添加用户的方法 角色等等。 Microsoft .NET Framework 的 System.Web.Security 命名空间包括一个名为 RoleProvider 的类,它定义了基本的 角色提供者的特征。

      【讨论】:

        【解决方案4】:

        您可以使用成员资格提供商的角色来执行基于权限的简单安全性。您只需定义一个角色“管理员”,然后根据该角色设置权限。

        如果您需要更高级的权限(例如允许-拒绝等),那么您将需要做更多的工作。

        但是,您说您正在寻找 RBAC(基于角色的访问控制),而 asp.net 已内置。

        【讨论】:

          猜你喜欢
          • 2012-07-20
          • 2021-09-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-03
          • 1970-01-01
          • 1970-01-01
          • 2012-01-20
          相关资源
          最近更新 更多