У нас есть приложение ASP.NET (3.5), которое использует проверку подлинности с помощью форм для проверки подлинности учетных записей. В форме входа я также получаю токен входа в Windows с помощью LogonUser, который я использую для олицетворения вошедшего в систему пользователя для просмотра частных каталогов (файлы отображаются в GridView, а пользователь олицетворяется непосредственно перед привязкой данных). Я только что узнал, что нам также нужно выдать себя за пользователя в виртуальном каталоге. Могу ли я выдать себя за другое лицо непосредственно перед загрузкой виртуального каталога или во всем приложении без переключения на проверку подлинности Windows?
Как я могу выдать себя за другого пользователя при открытии виртуального каталога?
Ответы (1)
Если вы просто выполняете одну задачу (например, доступ к сетевому ресурсу), мне нравится использовать существующую учетную запись AD, которую я создаю только для таких целей, и называю ее в коде.
Мне нравится абстрагироваться от приведенного здесь примера 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...
person
Ian Patrick Hughes
schedule
09.06.2009
Это то, что я делаю в настоящее время, но я не уверен, где мы можем сделать олицетворение в нашем коде, когда вы просматриваете виртуальный каталог, или если все это обрабатывается IIS.
- person pschorf; 10.06.2009
Почему вы не можете получить доступ к виртуальному каталогу, используя предварительно выбранную учетную запись AD при создании виртуального каталога? Или изменить настройки безопасности каталога после его создания?
- person Ian Patrick Hughes; 10.06.2009