1

首先,我想说我知道有很多关于这个的话题,我也在网上搜索以了解 mvc 处理安全性和保留用户信息等的整个概念,但我想得到一些建议和想法专业人士在我阅读此内容时,因此我将解释我的情况,并感谢您的帮助。

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

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 提供了一个 simpleMembership,它适用于简单的情况,但由于我有不同类型的用户和我的用户的附加信息,我想知道如何使用 [authorize]为具有不同角色的用户标记我更喜欢使用自己的角色表,以及如何处理登录过程?我的意思是我应该使用 FormsAuthentication 的部分,或者我什至不确定我是否应该使用它,我真的迷路了,我很想听听你们的一些建议。我不是要代码或任何东西,任何指向解释我的情况的良好指导的链接都会很棒。

再次感谢

4

2 回答 2

0

请查看 ASP.Net 论坛中的此论坛讨论

如果您知道身份验证的方法,那么您应该已经在此处确定了代码。但是,根据您的要求,请仔细查看这段代码

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")]

希望有帮助。

于 2013-07-01T23:08:25.037 回答
0

我有同样的情况,我正在遵循 Authentication FORMS Authentication Authorization 的过程,我将自己的包装类编写到 RoleProvider。有了这个你可以直接使用like

[授权(规则=“管理员,用户”)]

如果您的问题是身份验证/授权,它将完美地帮助您。

于 2013-05-21T08:51:39.457 回答