Использование службы аутентификации WCF для веб-приложения - PullRequest
2 голосов
/ 26 апреля 2010

Я использую службу аутентификации WCF, настроенную с помощью веб-приложения. Я успешно настроил и протестировал AuthenticationService и RolesService. Веб-приложение может успешно вызывать такие методы, как ValidateUser и GetRolesForCurrentUser, через службы WCF.

Я хочу интегрировать службу аутентификации WCF с моими web.config и site.map. Нужно ли мне писать собственного провайдера или есть какой-то способ изменить web.config веб-приложения, чтобы использовать службу аутентификации WCF в качестве поставщика членства?

Таким образом, я могу указать, какие роли имеют доступ к каким каталогам на основе службы аутентификации WCF.

Ответы [ 2 ]

2 голосов
/ 26 апреля 2010

Службы приложений не предназначены для замены стека провайдера.

Они предназначены для расширения и включения использования из контекста, отличного от .aspx.

В большинстве случаев вы можете просто использовать стек провайдера по умолчанию (Членство / Роли / Профили).

Вам просто нужно передать файлы cookie, которые вы получаете, когда вы звоните «Войти» через сервисы приложения, в контексте вызова службы.

См. здесь для получения дополнительной информации о добавлении файлов cookie в вызов WCF.

Если вы используете AJAX для вызова служб, вам не нужно ничего делать, просто авторизуйтесь через ajax, а затем позвоните через ajax.

1 голос
/ 05 октября 2011

Skys answer не отвечает на вопрос?

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

Рассмотрим трехуровневое приложение, для которого весь доступ к базе данных должен выполняться уровнем приложения. Существует единая база данных (уровень данных), содержащая бизнес-данные, а также данные о членстве.

Я написал трехуровневую реализацию, в которой настраиваемый членство MembershipProvider на уровне представления вызывает службу AuthenticationService на уровне приложения, которая, в свою очередь, запускает мою процедуру проверки подлинности. Я мог бы довольно легко создать пользовательский сервис WCF (например, не AutheticationService), который выполняет эту аутентификацию, но я стараюсь по возможности использовать объекты .NET. было бы неплохо, если бы я мог указать ASP.NET использовать AutheticationService без необходимости настраиваемого поставщика членства, но я не думаю, что это возможно?

...