Что ж, это интересная проблема. У меня есть приложение интрасети ASP.NET MVC3, работающее на сервере разработки Visual Studio, без NTLM. У меня нет домена AD на машине, на которой я тестирую.
Когда я пытаюсь использовать пользователя User.Identity.Name, возникает исключение нулевой ссылки, однако, когда я использую Environment.UserDomain и Environment.UserName, они заполняются правильными значениями.
Я серьезно запутался по этому поводу. Должен ли я избегать использования User.Identity.Name или есть причина, по которой это значение равно нулю?
ОБНОВЛЕНИЕ
Я только что заметил, что когда я использую 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;