2010-04-25 2 views
2

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

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

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

+0

Я предполагаю, что вы имеете в виду Windows Communication Foundation, а не старые классы Windows Foundation (которые не имеют никакого отношения к ASP.NET). – Aaronaught

ответ

2

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

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

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

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

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

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

1

Ответы на скай не отвечают на вопрос?

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

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

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

Смежные вопросы