Asp.net mvc MVC4身份验证&;自定义数据库的授权

Asp.net mvc MVC4身份验证&;自定义数据库的授权,asp.net-mvc,asp.net-mvc-4,forms-authentication,Asp.net Mvc,Asp.net Mvc 4,Forms Authentication,首先,我想说的是,我知道有很多关于这方面的话题,我也在网上搜索,以了解mvc处理安全性和保存用户信息等的整个概念,但我想在阅读这篇文章时从专业人士那里得到一些建议和想法,所以我要解释一下我的情况,感谢你的帮助 假设我有一个名为“Users”的自定义表 现在我知道的是,mvc提供了一个简单的成员身份,它适用于简单的情况,但是由于我有不同类型的用户和我的用户的附加信息,我想知道的是我如何使用[authorize]为我的用户标记不同的角色,我更喜欢使用我自己的角色表,以及如何处理登录过程?我的意思是,

首先,我想说的是,我知道有很多关于这方面的话题,我也在网上搜索,以了解mvc处理安全性和保存用户信息等的整个概念,但我想在阅读这篇文章时从专业人士那里得到一些建议和想法,所以我要解释一下我的情况,感谢你的帮助

假设我有一个名为“Users”的自定义表

现在我知道的是,mvc提供了一个简单的成员身份,它适用于简单的情况,但是由于我有不同类型的用户和我的用户的附加信息,我想知道的是我如何使用[authorize]为我的用户标记不同的角色,我更喜欢使用我自己的角色表,以及如何处理登录过程?我的意思是,我应该在认证中使用的部分,或者我甚至不确定我是否应该使用它,我真的很迷茫,我很想听听你们的建议。我不是要代码或任何东西,任何链接到一个好的指导,解释我的情况将是可怕的


再次感谢

我也有同样的情况,我正在遵循治疗程序 认证形式认证 授权我将自己的包装器类写入RoleProvider。有了这个,你可以直接使用

[授权(Rules=“Admin,Users”)]

如果您的问题是身份验证/授权,那么它将完全帮助您

如果你知道如何进行身份验证,你应该把代码钉在这里。但是,对于您的需求,请仔细查看这段代码

string[] roles = //you add your custom roles for the current user to this string list
GenericPrincipal userPrincipal = new GenericPrincipal(new GenericIdentity(authTicket.Name),
角色)//然后创建一个通用原则

Context.User = userPrinciple;
请记住,如果将此代码放在Global.asax文件之外,则
Context
HttpContext.Current

现在您可以使用
[Authorize(Roles=“yourRole1,yourRole2”)]

希望有帮助

Context.User = userPrinciple;