我需要确定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。
答案 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/