Как я могу выдать себя за другого пользователя при открытии виртуального каталога? - PullRequest
2 голосов
/ 09 июня 2009

У нас есть приложение ASP.NET (3.5), которое использует проверку подлинности с помощью форм для проверки подлинности учетных записей. В форме входа в систему я также получаю токен входа в Windows, используя LogonUser, который я использую для олицетворения вошедшего в систему пользователя для просмотра личных каталогов (файлы отображаются в GridView, а пользователь олицетворяет себя непосредственно перед привязкой данных). Я только что узнал, что мы также должны выдавать себя за пользователя в виртуальном каталоге. Есть ли у меня способ выдать себя за себя непосредственно перед загрузкой виртуального каталога или всего приложения без переключения на проверку подлинности Windows?

Ответы [ 2 ]

1 голос
/ 10 июня 2009

Если вы просто выполняете одну задачу (например, получаете доступ к сетевому ресурсу), мне нравится использовать существующую учетную запись AD, которую я создаю только для таких целей, и называть ее in-code.

Мне нравится абстрагировать пример, найденный здесь http://support.microsoft.com/kb/306158,, в вспомогательный класс. Это позволит сделать что-то вроде этого ...

helperImpersonate hI = new helperImpersonate();

if (hI.impersonateValidUser("ADUSERNAME", "DOMAIN", "PASSWORD"))
{

   //DO STUFF HERE...  

    hI.undoImpersonation(); //undo the impersoination
}//end if impersonate is true...
0 голосов
/ 10 июня 2009

Хотя этой статье несколько лет, она хорошо объясняет подражание и делегирование. Он поддерживает создание виртуальных каталогов для поддержки этого:

http://msdn.microsoft.com/en-us/library/ms998351.aspx

...