Asp.net core mvc 在MVC6中跨控制器访问Context.User或Controller.User

Asp.net core mvc 在MVC6中跨控制器访问Context.User或Controller.User,asp.net-core-mvc,Asp.net Core Mvc,我有一个新的MVC6解决方案,它使用ASP.Net身份验证和OAuth 对于我的帐户控制器,我能够检索登录的Context.User 但是,当使用另一个控制器时,我无法检索相同的值。Context.User.Identity字段都有空值 如何使我的其他控制器能够检索已登录的用户 更新:正如下面回答中的评论线索所述,问题出在客户端,而不是服务器上,因为客户端没有发送正确的ASP.Net身份验证凭据以进行标识。首先,MVC 6中的Microsoft合并Web API和MVC,因此我们可以说不再存在“

我有一个新的MVC6解决方案,它使用ASP.Net身份验证和OAuth

对于我的帐户控制器,我能够检索登录的Context.User

但是,当使用另一个控制器时,我无法检索相同的值。Context.User.Identity字段都有空值

如何使我的其他控制器能够检索已登录的用户


更新:正如下面回答中的评论线索所述,问题出在客户端,而不是服务器上,因为客户端没有发送正确的ASP.Net身份验证凭据以进行标识。

首先,MVC 6中的Microsoft合并Web API和MVC,因此我们可以说不再存在“WebAPI”


也许您使用的是MVC5并添加了错误的标记?如果是这样的话,也许或者可以帮助你。

我已经更正了我的帖子,不再引用WebAPI。这是MVC6。你能在原来的帖子中添加一些代码片段吗?考虑到API和MVC方法之间没有区别,我看不出这是如何发生的。我认为问题在于客户端。我正在调用没有cookie的web服务,因此它无法访问会话。现在我需要弄清楚如何在REST调用中设置“Microsoft.AspNet.Identity.Application”。哦,我明白了!如果您是通过类似Fiddler的客户端进行访问,则需要以以下格式在请求中添加Cookie头:
Cookie:.AspNet.Cookies=
。要检索此cookie,您需要获取登录操作方法返回的
Set cookie
头。