簡體   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