ASP.Net MVC 2 中自定义成员资格提供程序中的角色分组

Posted

技术标签:

【中文标题】ASP.Net MVC 2 中自定义成员资格提供程序中的角色分组【英文标题】:Grouping roles in custom membership provider in ASP.Net MVC 2 【发布时间】:2010-08-25 20:33:36 【问题描述】:

也许我使用了错误的术语,但我已经用谷歌搜索了两天,但找不到任何关于此的内容:分组角色/权限。或者我不太了解 ASP.Net 模型中的成员资格。

目前,我在一个 php 站点中有一个自制的身份验证系统,其中包含用户、权限和角色。每个角色(例如“用户”或“技术员”)都由单独的权限(例如“添加新用户”或“关闭工单”)组成。该站点是基于 MVC 的,因此当调用控制器操作时,它会查找基本权限。如果没有找到,它会显示一个未经授权的页面。当它搜索权限时,它会在角色组内部查找。但是,用户可以是“用户”角色的一部分,并拥有额外的权限,而不是其他角色的一部分。

这将如何转化为 MVC2?

该网站有一个用于useruser_to_permissionsuser_to_rolespermissionsrolesroles_to_permissions 的数据库表。我认为这些关系是不言自明的。我想我需要为用户维护我自己的数据库表,所以我将有自定义表单来添加/更新他们的信息,显然还有一个自定义登录例程。

这还能用吗?

【问题讨论】:

【参考方案1】:

RoleProvider“角色”实际上只是权限。您可以将它们卷起并在您的 UI 中以您喜欢的方式呈现它们(例如,参见 AzMan 和 AuthorizationStoreRoleProvider),但这取决于您。它们并不是真正的等级。

【讨论】:

所以任何分组都是自定义的并且是 RoleProvider 的扩展?我根本找不到任何关于会员系统的好的、清晰的教程,因为它与将用户信息存储在数据库中有关,所以一旦我找到其中一个,我认为这一切可能会更好。 是的,角色就像用户上的复选框,就通用 RoleProvider 而言——它们要么被选中(你拥有角色)要么不被选中(你不)。就是这样。

以上是关于ASP.Net MVC 2 中自定义成员资格提供程序中的角色分组的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC 和 ASP.NET 成员资格模板提供程序

使用成员资格提供程序的 ASP.NET MVC 4 Web API 身份验证

oAuth ASP.NET 成员资格提供程序

ASP.NET MVC:窗体身份验证及角色权限管理示例

ASP.NET:对 ASP.NET 成员资格提供程序的完全控制

如何让asp.net成员提供者和实体框架共享同一个数据库