Asp.net身份中不同角色的不同配置文件。

时间:2015-04-08 07:38:34

标签: c# asp.net roles asp.net-identity-2 profiles

是否可以为不同的角色设置不同的配置文件?或者我必须:

  1. 创建一个包含所有共享字段的配置文件,即名字,姓氏。
  2. 创建两个单独的表,每个表都包含自己的唯一属性,即表1:DOB表2:地址和配置文件的链接?

2 个答案:

答案 0 :(得分:1)

您可以像这样使用您的身份用户,然后添加新的实体教师和学生:

public class User: IdentityUser
{
    [Required]
    [StringLength(100)]
    public string FirstName { get; set; }

    [Required]
    [StringLength(100)]
    public string LastName { get; set; }

    public DateTime JoinedOn { get; set; }
    public virtual Student Student { get; set; }

    public virtual Teacher Teacher { get; set; }

    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(
        UserManager<User, Guid> manager)
    {
        // Note the authenticationType must match the one defined in
        // CookieAuthenticationOptions.AuthenticationType 
        var userIdentity = await manager.CreateIdentityAsync(
            this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here 
        return userIdentity;
    } 
}

答案 1 :(得分:0)

您可以为不同的角色创建不同的个人资料。假设您有一个User表,并且您有一些角色,如学生,教师,管理员。您可以在用户和学生,用户和教师,用户和管理员之间创建一对一的关系。学生特有的属性将这些属性保存在学生表中。

<强> EDIT1:

所以你是对的,你可以创建具有公共属性的用户和具有特定属性的其他表。