Каков наилучший способ аутентификации веб-пользователей из WCF, поступающих из веб-приложения ASP.Net? - PullRequest
1 голос
/ 07 июля 2010

У меня есть веб-приложение asp.net mvc 2, которое подключается к веб-службе WCF, размещенной в IIS. Это в среде интрасети, использующей проверку подлинности Windows. Мне нужно аутентифицировать пользователя, подключающегося к веб-приложению внутри моей службы WCF, но WCF не может видеть, кто подключился к веб-приложению.

Это не может быть новой проблемой, так как некоторые из вас решили эту проблему?

Ответы [ 3 ]

0 голосов
/ 07 июля 2010

Если вы используете проверку подлинности Windows, одним из вариантов может быть использование делегирования для передачи удостоверения вызывающего абонента из веб-приложения в службу WCF.

0 голосов
/ 07 июля 2010

Можно ли использовать общий сеанс?

WCF предлагает атрибут (AspNetCompatibilityRequirements), который (предположительно, среди прочего) делает состояние сеанса совместимым с ASP.net. Это, в свою очередь, позволяет вам использовать внешнее управление состоянием сеанса, которое может совместно использоваться приложениями.

Вы можете включить это, используя

[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed]

А потом в вашей конфигурации

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    ...
</system.serviceModel>

Если вы идете по пути SQL Server, я писал это некоторое время назад. Это разделение между asp.net и сервисом asmx, но на стороне SQL Server я думаю, что все то же самое. По сути, вам нужно заставить SQL Server распознавать обе части системы как одно и то же приложение.

WCF также использует тех же провайдеров членства, что и ASP.net, так что вы могли бы добиться успеха.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...