首先,我想说我知道有很多这方面的主题,我也在网上搜索mvc处理安全性和保存用户信息等的整个概念,但我想得到一些建议当我正在读这篇文章时,专业人士的想法,所以我会解释我的情况,我很感谢帮助。
假设我有一个名为“Users”的自定义表
public class Users : KySerializableObject
{
[required]
public virtual string Email { get; set; }
[required]
public virtual string userName {get; set; }
public virtual UserType UserType { get; set; }
[Required]
[ForeignKey("UserType")]
public virtual int UserTypeID { get; set; }
}
现在我所知道的是mvc提供了一个简单的会员,适用于简单的情况,但由于我有不同类型的用户和我的用户的附加信息,我想知道的是我怎么能使用[authorize]标签为我的用户使用不同的角色,我更喜欢使用我自己的角色表,还有我如何处理登录过程?我的意思是我应该使用FormsAuthentication的部分,或者我甚至不确定我是否应该使用它,我真的迷失了,我很想听到你们的一些建议。我不是要求代码或任何东西,任何能够解释我的情况的良好指导的链接都会很棒。
再次感谢
答案 0 :(得分:0)
我有相同的情况,我正在遵循程序 身份验证FORMS身份验证 授权我将自己的包装类编写到RoleProvider。有了这个,你可以直接使用
[授权(规则=“管理员,用户”)]
如果您的问题是身份验证/授权,它将完美地帮助您。
答案 1 :(得分:0)
Please take a look at this forum discussion in the ASP.Net forum
如果你知道自己的身份验证方式,那么你应该在这里修改代码。但是,根据您的要求,请仔细查看这段代码
string[] roles = //you add your custom roles for the current user to this string list
GenericPrincipal userPrincipal = new GenericPrincipal(new GenericIdentity(authTicket.Name),
roles); //然后你创建一个通用原则
Context.User = userPrinciple;
请记住,如果您将此代码放在Global.asax文件之外,那么Context
就是HttpContext.Current
现在您可以使用[Authorize(Roles = "yourRole1, yourRole2")]
希望有所帮助。