我正在使用graphql-dotnet和GraphQL HTTP中间件构建.NET Core 2.2应用程序。我正在尝试使用Windows身份验证(NTLM / Kerberos /协商)提供的用户名填充UserContext。
我无法用Windows身份验证提供的用户详细信息填充httpContext.User.Identity
。我还尝试使用graphql-dotnet/authorization
包装,但未成功
Windows身份验证本身可以正常工作。如果我创建普通的Controller
,请添加[Authorize]
属性并在控制器功能中访问User.Identity.Name
,则可以访问有关当前用户的信息。
一种解决方法是创建一个WebApi控制器,使用[Authorize]
属性并手动处理GraphQL请求。这意味着我没有使用我想继续使用的GraphQL HTTP中间件。
如果有人知道如何使用graphql-dotnet,GraphQL HTTP中间件和Windows身份验证来获取连接用户的用户名,将不胜感激。