2013-11-13 4 views
0

Я запустил приложение WCF Data Services 5.6/EF6 и WPF. Пользователь запускает приложение и получает экран входа в систему, где он вводит свой пароль пользователя &. Эта информация хранится в базе данных и используется для проверки его прав, групп пользователей и т. Д. (Зависит от приложения и не имеет ничего общего с SetEntitySetAccessRule).WCF Войдите в систему и держите информацию

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

Так что мой вопрос: как запросить информацию пользователя перед каждой операцией? Должен ли экземпляр пользователя храниться на сервере? (Более одного пользователя может подключиться к услуге)

ответ

0

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

http://www.codeproject.com/Articles/352678/Add-Custom-Message-Header-in-WCF-4-Calls

0

WCF Instancing может быть путь, где вы можете выбрать режим инстансов для «PerSession». Это позволит сохранить сеанс для пользователя.

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