我是MVC .Net的新手。我想实现一个RBAC系统。我有某些可由某些成员执行的操作/权限。
是否有允许我这样做的安全框架?
更多信息
我正在寻找类似于论坛的东西 - 用户可以发布新帖子,回复他们等。另一方面,主持人应该有权修改帖子,禁止用户等以及提供给普通用户的权限。
我读到.NET框架提供了一个成员资格表。我没有太多关于它的知识,但从我的理解,它只是将用户分组成一定的成员资格。它没有权限的概念。
我是否必须在Membership表的顶部添加另一个图层(似乎我正在重新发明轮子),或者是否有一个框架已经执行此操作。
答案 0 :(得分:3)
您应该查看Rhino Security - 它允许您定义自己的操作并将权限应用于特定组/用户/等
答案 1 :(得分:0)
了解Membership和Role提供商。它们旨在满足您的要求。
角色提供者的基本工作是与数据接口 包含角色数据的源,将用户映射到角色,以及 提供创建角色,删除角色,添加用户的方法 角色等等。 Microsoft .NET Framework的System.Web.Security namespace包含一个名为RoleProvider的类,用于定义基本类 角色提供者的特征。
答案 2 :(得分:0)
您可以使用成员资格提供程序的角色执行基于安全性的简单权限。您只需定义角色“管理员”,然后根据角色设置权限。
如果您需要更高级的权限(例如allow-deny等等),那么您将需要做更多的工作。
但是,你说你在寻找RBAC(基于角色的访问控制),asp.net有内置的。
答案 3 :(得分:0)
您可以使用成员资格提供程序,但使用起来可能很复杂,而且往往令人困惑。我从一开始就努力工作,成员资格提供商非常适合单点登录(SSO),你有多个应用程序,但只有一个身份验证点。
否则,请使用MVC中的AuthorizeAttribute。您可以对其进行子类化并创建属性的扩展,以完全满足您的需要。