MVC .NET - 是否有允许基于权限的系统的安全框架

本文关键字:权限 系统 安全 框架 许基于 NET 是否 MVC | 更新日期: 2023-09-27 18:32:53

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

是否有允许我执行此操作的安全框架?

更多信息

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

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

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

MVC .NET - 是否有允许基于权限的系统的安全框架

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

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

您可以使用成员资格提供程序,但使用起来可能很复杂,而且经常令人困惑。 我会从小处着手,然后逐步提高,会员资格提供程序非常适合单点登录 (SSO) 之类的事情,其中您有多个应用程序但单一身份验证点。

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

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

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

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

如果您需要更高级的权限(例如允许拒绝等),则需要执行更多工作。

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