Получить личность веб-пользователя вне области запроса - PullRequest
0 голосов
/ 14 февраля 2011

У меня есть приложение ASP.NET, которое регистрирует отчеты об аудите, используя IPreUpdateListener nHibernate.Чтобы установить текущего пользователя в событиях Listener, я использовал System.Security.Principal.WindowsIdentity.GetCurrent ().Это отлично работает при отладке на моем компьютере, но когда я перемещаю его на промежуточный сервер, я получаю учетные данные процесса ASP.NET, а не запрашивающего пользователя.используйте Request.LogonUserIdentity (который работает нормально, так как я использую встроенную аутентификацию), но как мне напрямую ссылаться на этого пользователя, не передавая его непосредственно моему событию?Я не хочу передавать эту информацию через конвейер, потому что она действительно не относится к промежуточным событиям / вызовам.

1 Ответ

1 голос
/ 14 февраля 2011

Если код выполняется в контексте ASP.NET, HttpContext.Current (статический) содержит текущий контекст Http.Вы всегда можете проверить, является ли он нулевым или нет.Если он не нулевой, вы сможете получить HttpContext.Current.Request.

. Однако идентичность, которая находится в этом контексте запроса, в конечном счете, зависит от того, как обрабатывает веб-сайт (IIS, Cassini, IIS express или custom)идентичность.

...