使用ASP.NET 5,Identity 2与自定义存储和具有权限的角色

时间:2015-04-08 12:14:36

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

我们正在开发非公开业务应用程序,并将使用带有Identity 2.x的ASP.ENT 5!该应用程序将由员工,经理通过内部网和互联网访问。 最大的警告是我们不想使用AD或Azure AD,因为我们的客户可能没有。我们也不需要个人登录,例如facebook或twitter。

我们需要将ASP.NET Identity机制挂钩到遗留数据库,遗留数据库有自己的角色,用户和权限实体。

首先,有一棵"资源"可以分配。例如。资源将是"添加新产品","删除产品","编辑产品"。您可以将一组用户(=角色)分配给一个或多个此类资源。

我的问题是你如何将这样的自定义方案挂钩到Identity 2.x?

也没有一个" admin"角色,但在不同访问级别上的许多角色取决于用户的工作/位置。经理(=" admin")将创建这些角色并分配用户。

有没有办法阻止ASP.NET创建默认的dbo.AspNetUsers等表,而是使用旧表?

是否可以进行拆分

1. Authentication -> handled by Identity 2 + ASP.NET
2. Authorization -> handled by custom code, e.g. a account controller

是否有人知道有关此主题的资源?

1 个答案:

答案 0 :(得分:0)

有这种可能性。您正在寻找的是一种拥有身份2机制但使用您自己的映射的方法。

您可以查看此问题以获得答案:ASP.NET Identity User and Roles in Multisite以下视频向您展示了有关使用标识为2的现有Db的一些信息:https://www.youtube.com/watch?v=elfqejow5hM

我做了类似的事情,但出于多租户的目的。我使用的概念在之前的一个问题中得到了解释:Middleware for multisite ASP.NET Identity 2

准确地说,没有可以使用的开箱即用系统,但身份2是非常可定制的。为了拥有自己的表,您必须创建自定义DbContext或覆盖IdentityDbContext。这是起点,其中设置了身份2使用的表。

希望这有帮助!

相关问题