Silverlight 4 - аутентификация / авторизация на основе пользовательского сервиса wcf - PullRequest
0 голосов
/ 29 мая 2010

У меня есть служба wcf перед хранилищем AzMan, которая передает роли и операции клиентам, используя следующий интерфейс:

    [OperationContract]
    bool AuthenticateUser(string password, string appName);

    [OperationContract]
    string[] GetRoles(string storelocation, string appName);

    [OperationContract]
    string[] GetOperations(string storeLocation, string appName, string selectedRole);

Клиенты подключаются к этой службе с помощью проверки подлинности Windows (но пользователи должны отправить свой пароль, чтобы подтвердить свою личность). В конечном итоге служба предоставляет массив операций, которые каждый клиент может выполнять в зависимости от выбранной им роли.

Я открыл новое бизнес-приложение Silverlight и попытался понять, как работает аутентификация / авторизация в этом шаблоне, а также просмотрел в Интернете примеры того, как подключить мой веб-сервис к полю входа, уже созданному в шаблоне но я в полном недоумении, как это сделать!

Может кто-нибудь дать совет?

1 Ответ

1 голос
/ 29 мая 2010

Шаблон бизнес-приложения имеет AuthenticationService, основанный на объекте User и классе AuthenticationBase. AuthenticationBase содержит виртуальные методы, которые вы можете переопределить, чтобы использовать собственные механизмы безопасности.

Например, существует метод входа в систему, основанный на имени пользователя и пароле. Этот метод возвращает IUser с именем и ролями.

После просмотра вашего интерфейса я бы создал подчиненный интерфейс IUser для включения списка разрешенных операций и изменил сгенерированный класс User для реализации этого подчиненного интерфейса. И я бы переопределил Login и связанные методы в AuthenticationService, чтобы использовать существующий код на основе Azman.

...