Мой администратор баз данных требует, чтобы весь доступ к базе данных осуществлялся через доверенную учетную запись домена. Это можно сделать, если вы установите web.config . Это требует, чтобы пользователь вошел в систему или находился в домене для передачи учетных данных IE. Я хочу выдать себя за пользователя с помощью кода. Я использую код, найденный в этой статье базы знаний:
http://support.microsoft.com/kb/306158
Он отлично работает, я передаю учетные данные, выдаю себя за пользователя, затем делаю вызов в базу данных, и данные возвращаются.
Проблема в том, что если я перейду на другую страницу, я потеряю свои олицетворенные учетные данные. Это означает, что каждый раз, когда я обращаюсь к базе данных, мне приходится запускать олицетворяющий код.
Если IIS может олицетворять пользователя домена для всех страниц, то почему я не могу олицетворять пользователя при использовании кода?
Кажется, что-то с переключением контекста потока. Я попытался установить alwaysFlowImpersonatingPolicy в файле Aspnet.config, но это не сработало.
http://msdn.microsoft.com/en-us/library/ms229553.aspx
Любое предложение? Возможно ли вообще делать то, что я хочу?