Как долго длится олицетворение ASP.NET? - PullRequest
1 голос
/ 24 февраля 2012

На своей странице входа я выдает себя за зарегистрированного пользователя.У пользователя есть учетная запись в AD, и у меня есть Integrated Security = true в моих строках подключения.Таким образом, пользователь должен иметь доступ к базе данных.

Я подражаю, используя код ниже на странице входа в систему

...
tempWindowsIdentity = New WindowsIdentity(tokenDuplicate)
impersonationContext = tempWindowsIdentity.Impersonate()

Будет ли это олицетворение длиться до тех пор, пока пользователисессия заканчивается?Приложение вызывает несколько других dll-файлов проекта, которые также вызывают БД, а также веб-службу на другом сервере, который подключается к той же БД.

Если нет, как часто мне нужно вызывать олицетворение?Повсеместно выполняется множество вызовов БД.

Другими словами,
Мне нужна проверка подлинности с помощью форм с включенным анонимным доступом, чтобы я мог показать свой экран входа в систему, но мне также нужно, чтобы личность пользователя AD выдавалась (желательно установить только один раз) на протяжении всего моего приложения

1 Ответ

0 голосов
/ 26 февраля 2012

http://msdn.microsoft.com/en-us/library/aa292118(v=vs.71).aspx

В соответствии с содержанием выше, олицетворение длится с потоком.Поскольку asp.net использует разные потоки для каждого запроса, вам приходится часто выдавать себя за другого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...