我已经成功设置了一个使用cookie中间件的ASP.NET核心应用程序,详见the docs.
现在我需要从经过身份验证的Principal中提取声明。 引用上述文件:
cookie中间件...将用户主体序列化为加密的cookie,并在后续请求中,...重新创建主体并将其分配给HttpContext上的User属性。
但我的 HttpContext.User始终为null 。
Kestrel日志显示
HttpContext.User merged via AutomaticAuthentication from authenticationScheme: myAuthScheme.
Authorization was successful for user: User1.
如何为经过身份验证的用户检索Principal / Identity / Claim信息?
答案 0 :(得分:0)
回答我自己的问题:问题是我试图在Controller构造函数中访问Controller.User。这太早了。我不得不在控制器的操作中移动用户检查。