1

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

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

更多信息

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

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

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

4

4 回答 4

2

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

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

于 2012-05-01T16:32:12.177 回答
0

阅读成员资格角色提供者。它们旨在满足您的要求。

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

于 2012-05-01T16:33:47.707 回答
0

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

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

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

于 2012-05-01T17:04:41.883 回答
0

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

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

于 2012-05-01T17:40:27.207 回答