Лучший отвечающий
Проблема с windows аутентификацией IIS 7.0 + SQL Server 2008 R2

Вопрос
-
В проекте используется связка Silverlight + WCF RIA Services. Для аутентификации пользователей служит AuthenticationDomainService, настроенный на windows аутентификацию, этот сервис работает правильно идентифицирует пользователей, у которых есть доменная учетная запись. Сервис данных DomainService, подключатся к SQL Server под учетной записью sql. В описанной выше конфигурации все прекрасно работает. Но возникла необходимость реализовать, чтобы запросы от WCF RIA Services в SQL выполнялись от имени аутентифицированного пользователя. На первом этапе предполагается что IIS и SQL Server находятся на одной железке.
Собственно, что делать?
20 июня 2012 г. 11:32
Ответы
-
Если все это хостится под IIS (т.е. у вас уже выключен анонимный доступ к сайту, включена windows auth, и все сделано по http://msdn.microsoft.com/en-us/library/ee707353(v=vs.91).aspx) - попробуйте включить имперсонацию asp.net:
http://msdn.microsoft.com/en-us/library/ff647396.aspx
Часть про настройки делегации в AD нужна только если SQL Server и IIS у вас установлены на разных машинах.
- Помечено в качестве ответа Andrey Potapov 22 июня 2012 г. 6:27
21 июня 2012 г. 11:12 -
Ларчик как водится просто открывался, проштудировав MSDN убедился, что всетаки имперсонация на IIS была настроена правильно, но вот недавно утановленный SQL Server не был настроен, и соответственно отклонял подключения от пользователей с доменными учетными данными. Всем спасибо, как выяснилось сам дурак :) По теме нашел интересную статью о по настройке Windows аутентификации для RIA Services:
http://mark.mymonster.nl/2009/05/12/silverlight-using-wcf-with-windows-authentication/
ответ PashaPash правильный.- Изменено Andrey Potapov 22 июня 2012 г. 6:27
- Помечено в качестве ответа Andrey Potapov 22 июня 2012 г. 6:28
22 июня 2012 г. 6:26
Все ответы
-
А как ваше приложение взаимодействует с БД, напрямую, используя ADO.NET или через ORM? И всречный ворос: зачем это Вам, чем не устраивает текущее положение дел?20 июня 2012 г. 11:57Модератор
-
Андрей убежал, пока за него дополню я.
Сервис с базой взаимодействует через Entity Framework, т.е. в веб-конфиге есть строка подключения. Пока в ней стоит аутентификация SQL Server, то все работает. Необходимо перейти на Windows аутентификацию, чтобы с наименьшей переделкой кода (а именно без пределки) прикрутить логирование действий пользователя в системе. Разработаны триггеры, которым осталось только узнать кто это делает, все остальное они уже знают и пишут в соответствующую базу, сейчас в качестве пользователя все время идет тот, кто прописан в строке подключения, а хочется писать того, кто залогинен на сервис.
- Изменено Алексей ЛосевEditor 20 июня 2012 г. 12:37
20 июня 2012 г. 12:36Отвечающий -
Если все это хостится под IIS (т.е. у вас уже выключен анонимный доступ к сайту, включена windows auth, и все сделано по http://msdn.microsoft.com/en-us/library/ee707353(v=vs.91).aspx) - попробуйте включить имперсонацию asp.net:
http://msdn.microsoft.com/en-us/library/ff647396.aspx
Часть про настройки делегации в AD нужна только если SQL Server и IIS у вас установлены на разных машинах.
- Помечено в качестве ответа Andrey Potapov 22 июня 2012 г. 6:27
21 июня 2012 г. 11:12 -
Ларчик как водится просто открывался, проштудировав MSDN убедился, что всетаки имперсонация на IIS была настроена правильно, но вот недавно утановленный SQL Server не был настроен, и соответственно отклонял подключения от пользователей с доменными учетными данными. Всем спасибо, как выяснилось сам дурак :) По теме нашел интересную статью о по настройке Windows аутентификации для RIA Services:
http://mark.mymonster.nl/2009/05/12/silverlight-using-wcf-with-windows-authentication/
ответ PashaPash правильный.- Изменено Andrey Potapov 22 июня 2012 г. 6:27
- Помечено в качестве ответа Andrey Potapov 22 июня 2012 г. 6:28
22 июня 2012 г. 6:26 -
Спасибо, что выложили решение проблемы, оно поможет людям, которые столкнутся с подобной задачей.
Для связи [mail]
22 июня 2012 г. 7:07Модератор -
Здравствуйте Андрей. У меня возникла схожая проблема. Не могли бы мы с вами связаться. Ответьте пожалуйста на адрес anton.finko@mail.ru, либо ICQ 649403287.
- Изменено Anton Finko 31 мая 2013 г. 10:06
31 мая 2013 г. 10:06