Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IdentityServer4将用户存储在数据库中而不使用EF并处理大量授权场景_C#_Asp.net Core_Asp.net Identity_Identityserver4 - Fatal编程技术网

C# IdentityServer4将用户存储在数据库中而不使用EF并处理大量授权场景

C# IdentityServer4将用户存储在数据库中而不使用EF并处理大量授权场景,c#,asp.net-core,asp.net-identity,identityserver4,C#,Asp.net Core,Asp.net Identity,Identityserver4,我正在构建一个核心mvc应用程序来支持多个子应用程序,以便它们可以在多个IIS服务器上运行 我不太喜欢使用EF,因为迁移的复杂性,特别是在生产中,因此我需要编写自己的用户处理机制,并且我想知道如果我需要进行大规模的角色或授权检查,可能会涉及数千个角色,那么我的最佳选择是什么。我需要保护一些东西,比如: 原料药 控制器 客户端或整个MVC/JS Web应用程序和移动设备客户端 特定于用户的访问(例如:用户可以访问自己的部门数据,有些可以读取,有些可以写入) 。。以及许多将在这个多服务器/域解决

我正在构建一个核心mvc应用程序来支持多个子应用程序,以便它们可以在多个IIS服务器上运行

我不太喜欢使用EF,因为迁移的复杂性,特别是在生产中,因此我需要编写自己的用户处理机制,并且我想知道如果我需要进行大规模的角色或授权检查,可能会涉及数千个角色,那么我的最佳选择是什么。我需要保护一些东西,比如:

  • 原料药
  • 控制器
  • 客户端或整个MVC/JS Web应用程序和移动设备客户端
  • 特定于用户的访问(例如:用户可以访问自己的部门数据,有些可以读取,有些可以写入)
。。以及许多将在这个多服务器/域解决方案中使用的授权场景(User.IsInRole方法或Authorize属性)


我需要您指导如何按照最佳实践实现这一目标

关于不使用EF。IDS4中的所有“存储”都是抽象的,因此您可以为每个IDS4实体实现自己的存储(而不是使用EF螺栓连接),同样,您也可以实现自己的IProfileService和IClaimService,以使用您想要的任何后端

这对你的情况应该有帮助。您不必使用策略服务器,但主要的一点是标识!=权限。使用Identity Server进行身份验证,并让您的每个应用/服务/客户端处理授权。了解该项目非常好。将记住这一点,那么有没有关于没有EF的用户存储的想法?