C #을 사용하여 .NET에서 현재 사용자 이름을 얻는 방법은 무엇입니까?
답변
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
답변
사용자 네트워크에 있다면 사용자 이름이 달라집니다.
Environment.UserName
- Will Display format : 'Username'
오히려
System.Security.Principal.WindowsIdentity.GetCurrent().Name
- Will Display format : 'NetworkName\Username'
원하는 형식을 선택하십시오.
답변
속성을 사용해보십시오 : Environment.UserName
.
답변
Environment.UserName에 대한 문서는 약간 충돌하는 것 같습니다.
같은 페이지에 다음과 같이 표시됩니다.
현재 Windows 운영 체제에 로그온 한 사람의 사용자 이름을 가져옵니다.
과
현재 스레드를 시작한 사람의 사용자 이름을 표시합니다
RunAs를 사용하여 Environment.UserName을 테스트하면 처음에 Windows에 로그온 한 사용자가 아닌 RunAs 사용자 계정 이름이 제공됩니다.
답변
다른 답변은 완전히 두 번째이지만, 한 가지 방법을 강조하고 싶습니다.
String UserName = Request.LogonUserIdentity.Name;
위의 메소드는 사용자 이름을 DomainName \ UserName 형식으로 반환했습니다 . 예를 들어, EUROPE \ UserName
다음과는 다릅니다.
String UserName = Environment.UserName;
다음 형식으로 표시됩니다 : UserName
그리고 마지막으로:
String UserName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
이는 주었다 NT AUTHORITY\IUSR
(IIS 서버에서 응용 프로그램을 실행하는 동안) 및 DomainName\UserName
(로컬 서버에서 응용 프로그램을 실행하는 동안).
답변
사용하다:
System.Security.Principal.WindowsIdentity.GetCurrent().Name
로그온 이름이됩니다.
답변
다음을 사용하려고 할 수도 있습니다.
Environment.UserName;
이것처럼 … :
string j = "Your WindowsXP Account Name is: " + Environment.UserName;
이것이 도움이 되었기를 바랍니다.