多站点ASP.NET身份2的中间件

时间:2015-02-13 09:44:17

标签: c# asp.net asp.net-mvc api asp.net-identity-2

上下文

在一个项目中,我得到了创建一个使用身份2进行身份验证的中间件的工作,取代了他们拥有的简单会员项目。我将角色和用户扩展到我的喜欢,一切都很好。现在我需要制作这个中间件,多站点就绪。

要求

  • 每个网站都被视为不同的应用程序;
  • 每个用户名都是唯一的,如果他拥有权限,则可以登录多站点;
  • 每个站点都有自己的唯一角色,它们可以与其他站点具有相同的名称(不是描述名称)(使ID成为角色表中唯一的唯一属性)。
  • 每个角色都有自己的一组属性,这些属性可以并且可能具有不同的值,来自其他站点中具有相同名称的其他角色。

我在思考如何解决这个问题的方式是:

  • 由于角色有自己的ID并且它应该是唯一的,因此使用相同名称的不同角色应该没有问题(所以我必须从角色名称中删除唯一性)。
  • 每个角色属于到应用程序,因此角色和应用程序(或网站,如果您想使其更简单)之间的多对一连接。
  • 就是这样,那应该很简单。

问题

我一直在尝试扩展Identity以便我可以解决问题,但似乎我无法使用identityDbContext覆盖角色名称的唯一性,因此,我的ApplicationDbContext现在继承了DbContext。

问题

我知道身份非常灵活,我可以从另一个角度来解决这个问题,我现在没想到,因为我会有很多改变用户管理员,用户名,角色库和角色管理员。这是一个“我正在以正确的方式解决这个问题”的问题,因为到目前为止,我还没有找到任何关于在身份2中解决这个问题的方法。

感谢您的帮助!

0 个答案:

没有答案