none
Проблема с windows аутентификацией IIS 7.0 + SQL Server 2008 R2 RRS feed

  • Вопрос

  • В проекте используется связка Silverlight + WCF RIA Services. Для аутентификации пользователей служит AuthenticationDomainService, настроенный на windows аутентификацию, этот сервис работает правильно идентифицирует пользователей, у которых есть доменная учетная запись. Сервис данных DomainService, подключатся к SQL Server под учетной записью sql. В описанной выше конфигурации все прекрасно работает. Но возникла необходимость реализовать, чтобы запросы от WCF RIA Services в SQL выполнялись от имени аутентифицированного пользователя. На первом этапе предполагается что IIS и SQL Server находятся на одной железке. 

    Собственно, что делать? 

           
    20 июня 2012 г. 11:32

Ответы

Все ответы

  • А как ваше приложение взаимодействует с БД, напрямую, используя ADO.NET или через ORM? И всречный ворос: зачем это Вам, чем не устраивает текущее положение дел?
    20 июня 2012 г. 11:57
    Модератор
  • Андрей убежал, пока за него дополню я.

    Сервис с базой взаимодействует через Entity Framework, т.е. в веб-конфиге есть строка подключения. Пока в ней стоит аутентификация SQL Server, то все работает. Необходимо перейти на Windows аутентификацию, чтобы с наименьшей переделкой кода (а именно без пределки) прикрутить логирование действий пользователя в системе. Разработаны триггеры, которым осталось только узнать кто это делает, все остальное они уже знают и пишут в соответствующую базу, сейчас в качестве пользователя все время идет тот, кто прописан в строке подключения, а хочется писать того, кто залогинен на сервис.



    20 июня 2012 г. 12:36
    Отвечающий
  • Если все это хостится под IIS (т.е. у вас уже выключен анонимный доступ к сайту, включена windows auth, и все сделано по http://msdn.microsoft.com/en-us/library/ee707353(v=vs.91).aspx) - попробуйте включить имперсонацию asp.net:

    http://www.integratedwebsystems.com/2009/06/connecting-to-sql-server-using-impersonation-from-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