首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在.Net Core2.0 WebAPI控制器中获取当前http上下文用户

在.Net Core2.0 WebAPI控制器中获取当前http上下文用户
EN

Stack Overflow用户
提问于 2019-01-03 17:30:38
回答 1查看 789关注 0票数 0

我有一个.Net Core2 WebAPI控制器,需要在它的构造函数或某个路由中检索当前用户Id。

代码语言:javascript
运行
复制
[Route("api/[controller]")]
public class ConfigController : Controller
{
    private readonly IConfiguration _configuration;

    public ConfigController(IConfiguration iConfig)
    {
        _configuration = iConfig;
    }

    [HttpGet("[action]")]
    public AppSettings GetAppSettings()
    {
        var appSettings = new AppSettings
        {
            //Other settings
            CurrentUser = WindowsIdentity.GetCurrent().Name
        };
        return appSettings;
    }
}

上面的WindowsIdentity.GetCurrent().Name不会给我需要的东西。我想我需要一个与.Net框架的System.Web.HttpContext.Current.User.Identity.Name等效的an

有什么想法吗?请注意,这是一款.Net Core2.0 WebAPI,请不要为常规.net控制器提供解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-03 18:13:07

ControllerBase.User将持有请求的当前已验证用户的原则,并且仅在执行操作的作用域中可用,而不在构造函数中可用。

代码语言:javascript
运行
复制
[HttpGet("[action]")]
public AppSettings GetAppSettings() {
    var user = this.User;
    var appSettings = new AppSettings {
        //Other settings
        CurrentUser = user.Identity.Name
    };
    return appSettings;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54019495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档