0

Мне нужно получить текущий идентификатор пользователя в IIS, после чего я передам этот идентификатор функции для проверки подлинности.Как получить текущий идентификатор пользователя, зарегистрированный в IIS

public ActionResult Login(myLoginModel model) 
{ 
      System.Security.Principal.IPrincipal user; 
      user = System.Web.HttpContext.Current.User; 
      String name = user.Identity.Name.ToString(); 

AuthenticateUser(name) 
} 

У меня всегда было значение null для «name». Мой файл web.config является:

<authentication mode="Windows"/> 
    <identity impersonate="true"/> 

и я отключил анонимную проверку подлинности и включена проверка подлинности Windows на диспетчере IIS. Можете ли вы помочь мне исправить эту проблему?

+0

возможно дубликат [проверки подлинности Windows - Получение имя текущего пользователя] (http://stackoverflow.com/questions/ 8968254/windows-authentication-receive-current-user-name) - также, FWIW, к тому времени, когда они нажмут «login», они уже прошли аутентификацию из AD (если вы не делаете что-то другое помимо базовой проверки подлинности), должно быть, должно произойти в 'Session_Start') –

+0

Я попытался поставить [authorize] поверх моего метода контроллера, но он не работает. – user2701646

ответ

0

Try, чтобы пользователь не из HttpContext но из Controller непосредственно:

Controller.User.Identity.Name или просто User.Identity.Name

+0

это не работает. все еще давая мне – user2701646

Смежные вопросы