如何在Asp .Net core 2.1中获得Ubuntu系统的当前用户?

时间:2019-01-07 06:07:41

标签: .net asp.net-core .net-core asp.net-core-webapi asp.net-core-2.1

我需要确定Ubuntu系统中的当前登录用户。在Windows中,我可以使用

System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();

获取用户名。我很困惑如何在Linux上做到这一点。有什么建议吗?

我希望当前登录的用户在控制器中。

public ControllerName(IHostingEnvironment hostingEnvironment)
        {
            _hostingEnvironment = hostingEnvironment;
            webRootPath = _hostingEnvironment.WebRootPath; 
            var user = User.FindFirst(ClaimTypes.Name).Value;/* System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString(); */
        }

但是User总是返回null。

1 个答案:

答案 0 :(得分:0)

我通过从.Net核心应用程序执行终端命令whoami解决了这个问题。

您可以参考以下链接以获得一些想法。

1)run bash command from .NetCore with arguments

2)https://loune.net/2017/06/running-shell-bash-commands-in-net-core/