Записать пользователя ASP.Net в журналы IIS - PullRequest
2 голосов
/ 19 июня 2009

У меня есть приложение ASP.NET 3.5 (на IIS 6.0), которое использует проверку подлинности на основе форм ASP.NET. В моих журналах IIS включено расширенное ведение журналов, включая поле cs-username. Даже после того, как пользователь зашел на мой сайт, cs-username по-прежнему отображает '-'.

Есть ли способ заставить имя аутентифицированного пользователя ASP.NET отображаться в поле имени пользователя в журналах?

Ответы [ 3 ]

2 голосов
/ 19 июня 2009

не легко.

cs-username по умолчанию является именем пользователя HTTP-аутентификации, а не аутентификацией форм. Возможно, вы сможете написать ISAPI DLL для перехвата вызова, проанализировать cookie токена аутентификации ASP.NET, расшифровав его, если вам нужно, и получить имя пользователя от провайдера членства, затем перехватить SF_NOTIFY_LOG и ответить на событие ON_LOG, чтобы установить правильное имя , но это нетривиально.

0 голосов
/ 11 марта 2011

Да, довольно неуклюжий asp.net ... вы думаете, они бы лучше интегрировали его с журналами IIS: -P

Вы можете использовать этот фильтр isapi, но я не уверен, что он будет работать для IIS7 (Windows 2008). Должно работать нормально в Win2003: http://www.codeproject.com/KB/trace/isapilogger.aspx

0 голосов
/ 08 декабря 2009

В качестве альтернативы, используйте поставщик членства ASP.NET, чтобы написать несколько пользовательских кодов для записи их в базу данных!

...