使用asp.net Identity进行多种帐户类型身份验证

时间:2015-02-19 14:41:40

标签: c# asp.net-mvc design-patterns asp.net-identity claims-based-identity

我需要使用Asp.Net MVC更新复杂的招聘网站。 作为基于声明的身份认证系统的新手,我有疑虑,所以也许你可以帮助我朝着正确的方向发展。

整个网站围绕两个基本实体:公司和候选人。他们都有自己的网站区域,需要登录才能访问他们的数据。 现在我知道这已经被辩论了,但我不确定我是否得出了正确的结论。我发现的每个帖子都建议使用“身份声明”,但不知何故,它感觉不是正确的方法。

首先,我想澄清一些观点:

  • 候选人永远不会成为公司,反之亦然。
  • 公司和候选实体非常不同和复杂, 每个都有超过25个属性,其中只有5个左右 相同。
  • 两个表都与很多其他不同的表有关系 数据库。

将这两个实体结合起来让我觉得我会弄得一团糟,而且从架构的角度来看感觉不对。

注意:截至目前,该网站使用合成模式解决了这个问题。

public abstract class UserType
{
    public Guid UserId { get; set; }
    public virtual User User { get; set; }
}

public class User
{
    public Guid UserId { get; set; }
}

public class Candidate : UserType
{
}

public class Company: UserType
{
}

所以我的问题是:基于声明的模型对于这个具体案例仍然是一个好主意吗?如果不是你会建议什么?

0 个答案:

没有答案