【发布时间】:2017-08-04 00:04:36
【问题描述】:
请仔细阅读本文,因为我很确定人们会回答与我所问问题不同的问题。
我有一个 IdentityServer4 服务器,它允许用户使用三种身份验证方法(我们目前有多个事实来源):自定义(SQL 中的用户 ID/密码)、ldap(AD 中的用户/密码)和集成窗口(没有需要密码)。这些工作很不错,当我在我的客户端 MVC 应用程序中时,我可以获取身份和声明,无论我使用哪种方法进行身份验证。
我的问题是我如何了解哪个用户已登录到服务器(而不是客户端 MVC!)。我可以看到服务器正在维护 cookie,它必须保存此信息。请记住,User.Identity.Name 将在他们“登录”到我的软件之前返回 Windows 身份验证信息。即User.Identity.IsAuthenticated 总是返回true。他们可能会继续选择 SQL 身份验证方法。
我猜这与HttpContext.Authentication.GetAuthenticationInfoAsync 有关,但我不清楚要传入什么authenticationScheme,因为最后一次调用SignInAsync 称为未指定的重载。
【问题讨论】:
标签: identityserver4