ASP.NET의 인트라넷 컴퓨터에 로그온 한 사람의 사용자 이름과 클라이언트 컴퓨터 이름을 검색하려고합니다. 이것은 단지 로깅 목적을위한 것입니다. 사용자 이름 "System.Security.Principal.WindowsIdentity.GetCurrent(). Name"을 검색 할 때 문제는이 사용자가 동일한 사용자 이름 (즉, 내 응용 프로그램을 배포 한 서버 이름)을 모두 표시하는이 사이트에 액세스하는 것입니다. 도와주세요. web.config에서 Windows 인증 모드를 사용하고 있습니다.Windows 인증을 사용하여 클라이언트 사용자 이름 다시 가져 오기
0
A
답변
2
는 사용자의 이름은 @Mehrdad 설명했다 할 수있다. 사용자의 컴퓨터의 이름은 당신이 사용할 수있는 HttpRequest에이 같은 객체 :
<system.web>
<authentication mode="Windows"/>
</system.web>
:이 라인을 사용하고 web.config 파일에서
if(Request.IsAuthenticated)
string userName = Request.LogonUserIdentity.Name;
string machineAddress = Request.UserHostAddress;
string machineName = Request.UserHostName;
(편집)
하여 default.aspx.cs에서
나는이 사용하고 있습니다
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
if (Request.IsAuthenticated)
{
sb.AppendFormat("User Name: {0}<br/>", Request.LogonUserIdentity.Name);
}
else
{
sb.Append("Request not authenticated");
}
sb.AppendFormat("Machine Address: {0}<br/>", Request.UserHostAddress);
sb.AppendFormat("Machine Name: {0}<br/>", Request.UserHostName);
lblTest.Text = sb.ToString();
}
}
목 proucing입니다 다음과 같은 출력 :
사용자 이름 : HPA들 \ 기계 주소
amantur : 127.0.0.1
컴퓨터 이름 : 127.0.0.1 I TREID가 있지만 아무튼
1
사용중인 코드는 WindowsIdentity
(ASP.NET이 실행되고있는 ID) 인 현재 스레드와 연결됩니다. 작동하지 않을 클라이언트 사용자 ID를 기반으로 가장하지 않는 한. 당신은이를 사용할 필요가 :
HttpContext.Current.User.Identity.Name
관련 문제
- 1. Windows 사용자 이름 가져 오기 - 다른 방법
- 2. 클라이언트 컴퓨터 이름 가져 오기
- 3. 쿠키에서 사용자 이름 가져 오기
- 4. 방문객 AD 사용자 이름 가져 오기 C#
- 5. MVC2에서 Windows 인증을 사용할 때 Active Directory 사용자 이름 얻기
- 6. Java에서 사용자 이름 그룹 가져 오기
- 7. HKEY_USERS 값에서 사용자 이름 가져 오기
- 8. 모델 클래스에서 사용자 이름 가져 오기
- 9. ImageField에서 사용자 이름 가져 오기 upload_to 경로
- 10. FB 앱에서 사용자 이름/사진 가져 오기
- 11. Rails 3 ID로 사용자 이름 가져 오기
- 12. 지속성 이름 가져 오기
- 13. 데이터베이스 이름 가져 오기?
- 14. 사용자 인증을 위해 WordPress에서 쿠키를 읽도록 CakePHP 가져 오기
- 15. Zend LDAP 인증의 표시 이름 가져 오기
- 16. jquery를 사용하여 배경 이미지 이름 가져 오기
- 17. 값을 사용하여 인터페이스 상수 이름 가져 오기
- 18. oauth 인증 후 Twitter 사용자 이름 가져 오기
- 19. Windows 서비스 - 클라이언트 인증을 통한 WCF
- 20. 템플릿에서 모델 이름 가져 오기
- 21. SharePoint에서 사용자 이름 가져 오기 목록의 사용자 필드
- 22. 터미널 서비스 : 관리자로 실행 중 클라이언트 이름 가져 오기
- 23. Java 웹 서비스 컨텍스트의 클라이언트 인증서에서 사용자 정보 가져 오기
- 24. Windows에서 전체 오디오 장치 이름 가져 오기
- 25. Silverlight에서 사용자 목록 가져 오기?
- 26. ANTLR : 토큰 이름 가져 오기?
- 27. 트리 가져 오기 노드 이름
- 28. 하위 도메인에서 인증 된 사용자 이름 가져 오기
- 29. Windows XP의 사용자 이름
- 30. windows 도메인의 사용자 이름
IIS 설정에 누락 된 것이 있으면 동일한 결과를 얻지 못합니다. 도움을 청합니다. – Xyz
도움을 주셔서 감사합니다. 나는이 코드를 시도했지만 "요청을 인증하지 못했습니다"라는 메시지가 누락되었습니다.이 message.please 도움을 얻고 있습니다. – Xyz
알았어요 !! IIS 관리자에서 웹 응용 프로그램에 대한 익명 액세스를 비활성화해야합니다. 익명 액세스가 활성화되어 있고 사용자 ID/비밀번호를 입력 할 필요가 없으며 Request.IsAuthenticated가 익명 프로필을 사용 중이므로 false입니다. – TheVillageIdiot