使用 ASP.NET 5,具有自定义存储和具有权限的角色的身份 2
Using ASP.NET 5, Identity 2 with custom store and roles with permissions
我们正在开发非 public 业务应用程序,并将使用 ASP.ENT 5 和身份 2.x!员工、经理将通过内联网和互联网访问该应用程序。
最大的警告是我们不想使用 AD 或 Azure AD,因为我们的客户可能没有。我们也不需要单独登录,例如 facebook 或 twitter。
我们需要将 ASP.NET 身份机制连接到遗留数据库,该数据库有自己的角色、用户和权限实体。
对于初学者来说,有一棵"resources"的树可以分配。例如。资源将是 "Add new product"、"Remove product"、"Edit product"。您可以将一组用户(=角色)分配给一个或多个此类资源。
我的问题是如何将这样的自定义方案挂接到身份 2.x?
也不是只有一个 "admin" 角色,而是许多具有不同访问级别的角色,具体取决于用户的 job/position。经理 (="admin") 将创建这些角色并分配用户。
有没有办法阻止 ASP.NET 创建默认 dbo.AspNetUsers 等表,而是使用遗留表?
可以分开吗
1. Authentication -> handled by Identity 2 + ASP.NET
2. Authorization -> handled by custom code, e.g. a account controller
有人知道关于这个主题的资源吗?
当然有这种可能性。您正在寻找的是一种拥有身份 2 机制但使用您自己的映射的方法。
你可以看看这个问题的答案:ASP.NET Identity User and Roles in Multisite and the following video shows you some info about using existing Db's with identity 2: https://www.youtube.com/watch?v=elfqejow5hM
我做了类似的事情,但用于多租户目的。我在之前的一个问题中解释了我使用的概念:Middleware for multisite ASP.NET Identity 2
准确地说,没有开箱即用的系统可供您使用,但 Identity 2 是非常可定制的。为了拥有自己的表,您必须创建自定义 DbContext 或覆盖 IdentityDbContext。那是起点,Identity 2 使用的表就是在这里设置的。
希望对您有所帮助!
我们正在开发非 public 业务应用程序,并将使用 ASP.ENT 5 和身份 2.x!员工、经理将通过内联网和互联网访问该应用程序。 最大的警告是我们不想使用 AD 或 Azure AD,因为我们的客户可能没有。我们也不需要单独登录,例如 facebook 或 twitter。
我们需要将 ASP.NET 身份机制连接到遗留数据库,该数据库有自己的角色、用户和权限实体。
对于初学者来说,有一棵"resources"的树可以分配。例如。资源将是 "Add new product"、"Remove product"、"Edit product"。您可以将一组用户(=角色)分配给一个或多个此类资源。
我的问题是如何将这样的自定义方案挂接到身份 2.x?
也不是只有一个 "admin" 角色,而是许多具有不同访问级别的角色,具体取决于用户的 job/position。经理 (="admin") 将创建这些角色并分配用户。
有没有办法阻止 ASP.NET 创建默认 dbo.AspNetUsers 等表,而是使用遗留表?
可以分开吗
1. Authentication -> handled by Identity 2 + ASP.NET
2. Authorization -> handled by custom code, e.g. a account controller
有人知道关于这个主题的资源吗?
当然有这种可能性。您正在寻找的是一种拥有身份 2 机制但使用您自己的映射的方法。
你可以看看这个问题的答案:ASP.NET Identity User and Roles in Multisite and the following video shows you some info about using existing Db's with identity 2: https://www.youtube.com/watch?v=elfqejow5hM
我做了类似的事情,但用于多租户目的。我在之前的一个问题中解释了我使用的概念:Middleware for multisite ASP.NET Identity 2
准确地说,没有开箱即用的系统可供您使用,但 Identity 2 是非常可定制的。为了拥有自己的表,您必须创建自定义 DbContext 或覆盖 IdentityDbContext。那是起点,Identity 2 使用的表就是在这里设置的。
希望对您有所帮助!