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



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

我们需要将ASP.NET标识机制连接到遗留数据库,该数据库有自己的角色、用户和权限实体。

对于初学者来说,有一个可以分配的"资源"树。例如,一个资源将是"添加新产品"、"删除产品"one_answers"编辑产品"。您可以将一组用户(=角色)分配给一个或多个这样的资源。

我的问题是,如何将这样一个自定义方案连接到Identity 2.x

也没有一个"管理员"角色,而是许多不同访问级别的角色,这些角色取决于用户的工作/职位。经理(="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身份用户和多站点中的角色,下面的视频向你展示了一些关于使用身份为2的现有Db的信息:https://www.youtube.com/watch?v=elfqejow5hM

我做了一些类似的事情,但出于多租户的目的。我使用的概念在之前的一个问题中有解释:用于多站点ASP.NET Identity 2 的中间件

确切地说,没有现成的系统可以使用,但Identity 2是非常可定制的。为了拥有自己的表,您必须创建一个自定义DbContext或覆盖IdentityDbContext。这是设置Identity 2所使用的表的起点。

希望这能有所帮助!

最新更新