繁体   English   中英

在 .net 核心工作者服务中获取登录用户

[英]Get log on user in .net core worker service

我有一个 .net core 3.1.8 worker 服务。 有没有办法访问设置为该服务登录用户的 Windows 用户的用户名? 我在后台服务的文档中没有真正看到与此相关的任何内容。 尝试谷歌搜索,但谷歌只能找到与 HttpContext 相关的东西,我显然在后台服务中没有。

我真的只需要将其用于日志记录,就像在通过服务插入/更新某些内容时在数据库中设置创建者/修改用户一样,所以我当前的解决方案是在 appsettings.json 中放置一个 serviceUserName 属性并从那里读取它,但是就是感觉……脏?

您可以通过多种方式获取当前用户。

如评论中所示,您可以通过以下方式获取当前线程的用户名:

Environment.UserName

参考:

https://docs.microsoft.com/en-us/dotnet/api/system.environment.username?view=netcore-3.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM