context.Request.ServerVariables[«LOGON_USER»] — пустая строка

#asp.net #security #windows-7 #iis-7.5

#asp.net #Безопасность #windows-7 #iis-7.5

Вопрос:

Я запускаю веб-приложение на Windows 7 enterprise iis7.5. Мое веб-приложение использует проверку подлинности Windows и ASP.NET v4.0 applicationpool с identity=applicationpoolIdentity .

Я хочу получить имя пользователя для входа с помощью context.Request.ServerVariables["LOGON_USER"] , но это пустая строка. Почему?

Спасибо.

Комментарии:

1. Пожалуйста, не могли бы вы использовать знаки препинания, на этот раз я исправил это за вас.

Ответ №1:

Попробуйте использовать context.User.Identity.Name вместо этого.

HTH.

Комментарии:

1. Брайан, я пытаюсь сделать то, что ты сказал, но я получаю этот контекст. Пользователь является null.so возникло исключение. спасибо в любом случае.

2. При проверке подлинности Windows это будет работать в той же сети, что и приложение интрасети, но интернет-приложение, если только все не находятся в одном домене, не сможет использовать Windows auth, и, следовательно, оно будет равно null.

3. я остаюсь в режиме интегрированного пула приложений, но перевожу перехват, при котором пользователь, вошедший в систему, переводится в PostAuthenticationRequest (раньше это было в обработчике событий AuthenticationRequest), и теперь это работает