Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка под ASP.NET > Имперсонация и делегирование |
Автор: csprogrammer 22.11.2007, 15:54 | ||
Уважаемые коллеги! Разрабатываю многоуровневое приложение, как показано на схеме. Никак не могу настроить, чтобы веб-запрос от front-end сервера к Remoting-объекту back-end сервера выполнялся, от имеи того, пользователя, который зашёл на сайт. Настройки следующие. Для front-end сервера в Active Directory стоит галка "Trust computer for delegation". В web.config на front-end сервере содержится строчка
В результате ASP.NET-приложение на front-end сервере на строчке создания удалённого объекта вылетает с ошибкой "Server Error in '/webreport' Application. The remote server returned an error: (401) Unauthorized." В логах IIS видно, что запрос выполнялся от анонимного пользователя. Измучался весь ![]() |
Автор: Zakonnic 23.11.2007, 11:24 |
Самый важный док по теме - http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/tkerbdel.mspx. Здоровый, собака - читать неперечитать. Но с твоей архитектурой даже не знаю. Лично я настраивал только в локальной сети с доменными пользователями. Там, при условии запуска SQL Server под доменным логином, а IIS под NetworkService, нужно всего лишь поставить SPN для логина SQL Server и в Active Directory на вкладке "делегирование" (Win2003 Server) учетной записи компа с ИИС-ом добавить эти SPN. Хотя там есть пункт что-то вроде "Использовать какой-нибудь левый метод" как раз для аутентификации по Интернету, но я его не пробовал. ЗЫ. Для тех, кто не в курсе - это способ аутентификации пользователей веб сервера (IIS) на SQL Server, если сервера стоят на разных машинах. |
Автор: csprogrammer 27.11.2007, 10:00 |
На самом деле в моём случае есть VPN через Internet, так что можно считать, что я в локальной сети, только подсети разные. И работаю я, также, с доменными пользователями. Только домены опять же разные. Но это не столь важно, я думаю. Специфика моей ситуации в том, что IIS обращается не к MS SQL, а к другому IIS-у! И тот второй IIS видит это обращение как анонимное :( А что касается ссылки - да, действительно основательная статья. Обязательно прочитаю, спасибо. |