이 아닙니다. 이것은 흥미로운 문제입니다. Visual Studio Development Server에서 실행되는 ASP.NET MVC3 인트라넷 응용 프로그램을 NTLM이 없습니다. 테스트중인 컴퓨터에 AD 도메인이 없습니다.MVC3 User.Identity.Name이 null이고 Enironment.UserName이
사용자에게 User.Identity.Name
을 보내려고하면 null 참조 예외가 발생하지만 Environment.UserDomain
과 Environment.UserName
을 사용하면 올바른 값으로 채워집니다.
나는 이것에 대해 심각하게 혼란스러워합니다. User.Identity.Name
을 사용하지 않아야합니까, 아니면 이것이 null 인 이유가 있습니까?
UPDATE는
난 그냥 System.Web.HttpContext.Current.User.Identity.Name
를 사용할 때 작동 것으로 나타났습니다하지만, 단지 User.Identity.Name
이 작동하지 않습니다 사용. 사용하는 문장이 누락 되었습니까?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
실행중인 코드는 무엇입니까? 전체 컨텍스트가 무엇입니까? (method, thread ...) –
이 코드는 생성자의 Controller 클래스 내부에서 직접 실행됩니다. – Kev
UPDATE에 감사드립니다. 나는 동일한 문제를 가지고 있었고 System.Web.HttpContext.Current.User.Identity.Name이 그것을 해결했다. 감사! –