Вместо того, чтобы сделать это самостоятельно, вы можете взглянуть на WCF Аутентификация Сервисы.
Прежде чем идти по этому пути, имейте в виду, что службы аутентификации поддерживают вход и выход из системы, но это все. Обычные Membership
методы, такие как CreateUser
, недоступны. Если они вам нужны, вам нужно создать три проекта:
- Приложение-служба WCF с одной службой под названием
WCFMembershipService
, которая охватывает основные требования поставщика членства, т. Е. Вызывает Membership.Provider.Method()
. Сконфигурируйте стандартные SQLMembershipProvider
в web.config
и
- Пользовательский поставщик членства, который будет использоваться в приложении ASP.NET, которое вызывает вашу службу WCF с шага 1, и
- Приложение ASP.NET с настроенным провайдером членства
Вы обнаружите, что поставщики Membership
и Role
чрезвычайно просты, но поставщик Profile
более сложен, потому что вы не можете сериализовать свойства по умолчанию, которые требуются поставщику, такие как SettingsPropertyValueCollection
.
В этом случае вам необходимо сначала преобразовать SettingsPropertyValueCollection
в сериализуемый тип, а затем восстановить его на другом конце. Вероятно, Dictionary<string, string>()
будет достаточно.