【发布时间】:2017-07-07 21:27:25
【问题描述】:
因此,IResourceOwnerPasswordValidator 应该替换 IUserService。 在旧版本 IdentityServer3 中,我可以执行以下操作:
factory.UserService = new Registration<IUserService>(typeof(MyIdentityUserService));
factory.Register(new Registration<IUserRepository>(userRepository));
它使用正确的连接字符串传递自定义 userRepository 对象。 现在在 IdentityServer4 中,我需要连接到正确的 Portal 数据库,以便 ID4 针对正确的 Portal 数据库对用户进行身份验证。
如果我可以将参数传递给 ResourceOwnerPasswordValidator 类的构造函数,如下所示,那么这很好,但对于 ASP.NET CORE 是不可能的。
public ResourceOwnerPasswordValidator(string MyConnString)
{
_connstring = MyConnString;
}
这不起作用,因为 ConfigurationService 注册了此类而无法传递值。这是有道理的,因为此注册过程在管道构建之前开始。如何将连接字符串动态传递给 ResourceOwnerPasswordValidator 类?我正在尝试对发出呼叫的门户进行身份验证。在 ID3 中,我可以通过使用 acr_value 来做到这一点。
我正在尝试让 ID4 作为多租户身份验证服务器进行身份验证。
【问题讨论】:
标签: authentication asp.net-core identityserver4