Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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# IdentityServer为每个客户端选择用户服务_C#_Identityserver3_Openid Connect - Fatal编程技术网

C# IdentityServer为每个客户端选择用户服务

C# IdentityServer为每个客户端选择用户服务,c#,identityserver3,openid-connect,C#,Identityserver3,Openid Connect,我有带有ResourceOwner流的IdentityServer v3,我需要将其配置为能够从一个端点授权来自AspNetIdentityUserStore(第一个用户服务)的用户和来自ActiveDirectory(2d用户服务)的用户 第一个简单的决定是定制UserService,它将组成第一个和第二个用户服务并封装逻辑,但我想知道,根据当前客户机选择registerd UserService的行为可以吗 或者有任何不同的方法可以更好地解决这个问题?基于客户端拆分用户服务似乎是个好主意,但

我有带有ResourceOwner流的IdentityServer v3,我需要将其配置为能够从一个端点授权来自AspNetIdentityUserStore(第一个用户服务)的用户和来自ActiveDirectory(2d用户服务)的用户

第一个简单的决定是定制UserService,它将组成第一个和第二个用户服务并封装逻辑,但我想知道,根据当前客户机选择registerd UserService的行为可以吗


或者有任何不同的方法可以更好地解决这个问题?

基于客户端拆分用户服务似乎是个好主意,但引入这种客户端偏见将导致许多问题。这将给您的用户群带来很多混乱,因为有效的凭证可能无法在另一个客户端的同一登录页面上工作。这也使得身份提供者在将来更难处理,因为无论何时添加另一个客户端,都必须修改用户身份验证


出于身份验证的目的,无论是现在还是将来,您都将有一个更好的时间,让身份提供者的UserService在不知道客户端的情况下执行操作。确定identity server提供的用户主体是否具有足够的授权应该由客户端承担。

但是您认为在一个UserService中组合两个UserServices并尝试通过AD和Asp.Net身份验证用户是一个好主意吗?