WCF Сервис аутентификации и авторизации - PullRequest
1 голос
/ 20 марта 2012

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

Существует также необходимость аутентификации существующих пользователей и паролей, которые хранятся в базе данных SQL и уже используются другим веб-приложением, но, поскольку у меня нет исходного кода для него, и все еще выполняется настройка do .NET У меня есть некоторые трудности.

Я могу прочитать базу данных и обнаружил в ней несколько таблиц aspnet_, таких как aspnet_Users, aspnet_Roles и т. Д., Которые на данный момент, похоже, совпадают с таблицами, используемыми в веб-приложении.

Мой вопрос заключается в том, как легко реализовать аутентификацию и авторизацию методов с использованием существующей базы данных.

Обратите внимание, что у меня нет доступа к исходному коду веб-приложения.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 20 марта 2012

Реально нелегкий способ достичь ваших требований. Здесь - это библиотека, которую вы можете использовать и строго выполнять шаги, описанные в этом блоге , чтобы настроить аутентификацию с поставщиком членства SQL для служб WCF.
В моем случае я сделал небольшое обновление библиотеки. Я закомментировал строку кода

//if (!IsAnonymousAllowed)
0 голосов
/ 20 марта 2012

MVC использует стандартный поставщик членства ASP.Net. Если вы нажмете кнопку «Войти» / ссылку регистрации - вы можете добавить пользователя. ASP.Net создаст App_Data \ ASPNETDB.MDF, содержащий информацию о членстве. Вы можете переместить ASPNETDB.MDF на удаленный сервер БД, но вы должны использовать схему / БД поставщика членства (если вы не пишете свой собственный поставщик).

Несколько ссылок MVC для начала работы.

http://www.asp.net/mvc/tutorials/older-versions/security/authenticating-users-with-forms-authentication-vb http://weblogs.asp.net/fredriknormen/archive/2007/11/25/asp-net-mvc-framework-security.aspx http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/

Добавлена ​​конфигурация аутентификации / авторизации по умолчанию, использующая стандартное членство ASP.NET и поставщика услуг диспетчера ролей (локальный SQL Express). Если ваша существующая база данных (для входа в систему пользователя) также является стандартной базой данных sql членства ASP.NET, вы можете просто изменить строку подключения в разделе членства. В противном случае вам может понадобиться создать пользовательский поставщик членства, который использует ваши собственные таблицы базы данных для аутентификации пользователя.

Реализация поставщика членства http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx

Создание пользовательских поставщиков для членства в ASP.NET 2.0 http://msdn.microsoft.com/en-us/library/aa479048.aspx

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