Asp.net mvc ASP.Net MVC中的2组自定义成员资格

Asp.net mvc ASP.Net MVC中的2组自定义成员资格,asp.net-mvc,asp.net-membership,Asp.net Mvc,Asp.net Membership,我可以很容易地设置自定义成员资格,但如果我需要两个设置,即控制面板的管理和登录客户的注册,该怎么办。这意味着要从两个独立的表中获取用户。我的问题是如何通过1个自定义成员身份将两者集成到一起进行控制,以及如何在控制器上对2个用户进行身份验证?如果不这样分离用户,您应该实现一个并将这些角色分配给用户。假设您已经创建了两个角色admin和user,您可以这样为控制器设置一个属性: 管理页面控制器 [Authorize(Roles = "Admin")] public ActionResult Admi

我可以很容易地设置自定义成员资格,但如果我需要两个设置,即控制面板的管理和登录客户的注册,该怎么办。这意味着要从两个独立的表中获取用户。我的问题是如何通过1个自定义成员身份将两者集成到一起进行控制,以及如何在控制器上对2个用户进行身份验证?

如果不这样分离用户,您应该实现一个并将这些角色分配给用户。假设您已经创建了两个角色adminuser,您可以这样为控制器设置一个属性:

管理页面控制器

[Authorize(Roles = "Admin")]
public ActionResult AdminAction() { }
[Authorize(Roles = "User")]
public ActionResult UserAction() { }
用户页面控制器

[Authorize(Roles = "Admin")]
public ActionResult AdminAction() { }
[Authorize(Roles = "User")]
public ActionResult UserAction() { }

如果您希望管理员查看所有登录的用户页面,只需将用户角色分配给管理员即可。

在我看来,这就像两个不同的角色,而不是两个不同的成员身份。你不能简单地使用管理员和客户角色来区分你的用户吗?这很好,也是我设想的,但我对如何定义角色一无所知,我不想创建角色表,如果可能的话,我想更改自定义成员身份的ValidateUser()来检查管理员/用户使用哪个表,并在这里手动设置角色,可能?@user1166905您可以创建一个自定义的
MembershipUser
(),该用户具有
Roles
属性(可能是逗号分隔的字符串),该属性在
ValidateUser()
方法中根据它们的来源进行设置。然后,您可以创建一个自定义属性(),其中该属性将角色名称作为字符串,然后为相应的角色查询自定义用户类。