繁体   English   中英

如何获取当前用户的用户名,密码和域

[英]How to get username, password and domain of current user

我开发了Windows服务以与报表服务进行互操作,因此我需要组建NetworkCredential才能传递给SSRS。 问题是-我如何获取运行服务的用户名,SecureString和用户域?

如果有任何帮助,我将不胜感激!

您可以通过以下方式获取当前用户:

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

如果我没记错的话,它在domain\\username的形式上也有域的前缀

您无法获取当前登录用户的密码。 但是,您可以指定Windows服务的运行用户。 这样,您将知道密码,并能够链接该帐户,并在整个域中授予适当的访问权限。

请注意,如果您将来决定更改用户帐户的密码,则必须手动更新服务上的凭据。

要获得包括名字,姓氏和域的完整答案,我们可以使用以下代码:

var domain = Environment.UserDomainName;
UserPrincipal userPrincipal = UserPrincipal.Current;
var firstname = userPrincipal.GivenName;
var lastname = userPrincipal.SurName
var username_id = userPrincipal.SamAccountName;

您需要添加System.DirectoryServices.AccountManagement作为程序集引用。

暂无
暂无

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

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