Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Имперсонация и делегирование, делегирование прав в web-приложениях 
:(
    Опции темы
csprogrammer
Дата 22.11.2007, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 3.4.2006

Репутация: нет
Всего: нет



Уважаемые коллеги!

Разрабатываю многоуровневое приложение, как показано на схеме. Никак не могу настроить, чтобы веб-запрос от front-end сервера к Remoting-объекту back-end сервера выполнялся, от имеи того, пользователя, который зашёл на сайт. Настройки следующие. Для front-end сервера в Active Directory стоит галка "Trust computer for delegation". В web.config на front-end сервере содержится строчка
Код

<identity impersonate="true"/>

В результате ASP.NET-приложение на front-end сервере на строчке создания удалённого объекта вылетает с ошибкой "Server Error in '/webreport' Application. The remote server returned an error: (401) Unauthorized." В логах IIS видно, что запрос выполнялся от анонимного пользователя.

Измучался весь  smile 

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  delegate.gif 21,88 Kb
PM MAIL   Вверх
Zakonnic
Дата 23.11.2007, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 25.4.2006

Репутация: 3
Всего: 6



Самый важный док по теме - Troubleshooting Kerberos Delegation. Здоровый, собака - читать неперечитать. 

Но с твоей архитектурой даже не знаю. Лично я настраивал только в локальной сети с доменными пользователями. Там, при условии запуска SQL Server под доменным логином, а IIS под NetworkService, нужно всего лишь поставить SPN для логина SQL Server и в Active Directory на вкладке "делегирование" (Win2003 Server) учетной записи компа с ИИС-ом добавить эти SPN. Хотя там есть пункт что-то вроде "Использовать какой-нибудь левый метод" как раз для аутентификации по Интернету, но я его не пробовал. 

ЗЫ. Для тех, кто не в курсе - это способ аутентификации пользователей веб сервера (IIS) на SQL Server, если сервера стоят на разных машинах. 
--------------------
...и никогда не пишите в комментариях правду
PM MAIL ICQ   Вверх
csprogrammer
Дата 27.11.2007, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 3.4.2006

Репутация: нет
Всего: нет



На самом деле в моём случае есть VPN через Internet, так что можно считать, что я в локальной сети, только подсети разные. И работаю я, также, с доменными пользователями. Только домены опять же разные. Но это не столь важно, я думаю. Специфика моей ситуации в том, что IIS обращается не к MS SQL, а к другому IIS-у! И тот второй IIS видит это обращение как анонимное :(

А что касается ссылки - да, действительно основательная статья. Обязательно прочитаю, спасибо.
PM MAIL   Вверх
Zakonnic
Дата 28.11.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 25.4.2006

Репутация: 3
Всего: 6



Цитата(csprogrammer @  27.11.2007,  10:00 Найти цитируемый пост)
И работаю я, также, с доменными пользователями. Только домены опять же разные.
Хммм... Может один домен должен доверять другому (настраивается в ActiveDirectory)? 

Цитата(csprogrammer @  27.11.2007,  10:00 Найти цитируемый пост)
Специфика моей ситуации в том, что IIS обращается не к MS SQL, а к другому IIS-у!
Это нифига не специфика. Схема та же. А анонимное обращение - следствие отката к стандартной NTLM-аутентификации из-за невозможности разрешить все керберосом. По идее ты прав - под Win2000 в ActiveDirectory достаточно поставить "Trust computer for delegation" для среднего компа с иисом. Если ИИСы работают под NetworkService, все SPN уже зарегены, хотя явно и не отображаются. Специфику как раз составляет VPN и два разных домена. Kerberos должен передавать "билеты" (tickets) и не известно, сможет ли он на одном поезде домене опознать, что билет, выданный пассажиру другого поезда пользователю другого домена, работает и в этом smile

Это сообщение отредактировал(а) Zakonnic - 28.11.2007, 14:02
--------------------
...и никогда не пишите в комментариях правду
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0695 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.