WCF Аутентификация / Авторизация - Требуется помощь - PullRequest
0 голосов
/ 15 декабря 2010

Мне нужна помощь с WCF о том, как правильно настроить аутентификацию / авторизацию.Я хотел бы использовать как можно больше из коробки, чтобы сделать это.

Я настраиваю службу приложений WCF 4.0, и у меня будут и клиенты web 4.0, и 4.0 silverlight, подключающиеся к одной и той же службе.Я хотел бы, чтобы клиент вызвал метод аутентификации в службе (который проверит имя пользователя / пароль по базе данных), а затем вернул токен обратно клиенту.Затем клиент сохранит этот токен и отправит его (прозрачно) при каждом последующем вызове службы.На сервисе этот токен будет проверяться при каждом звонке.Также мне нужно будет выполнять некоторые проверки безопасности (на стороне сервера) во время каждого вызова операции с использованием идентификатора пользователя, так что, возможно, потребуется включить его в токен.

Я хотел бы получить примеры клиент / серверкак это сделать!Спасибо!

Ответы [ 2 ]

3 голосов
/ 28 декабря 2010

В итоге я воспользовался собственной службой Secure Token.Мой клиент вызывает STS, аутентифицирует и возвращает токен, который хранится.Затем я использовал инспектор сообщений для вставки токена в каждый исходящий вызов службы wcf и использовал инспектор сообщений на стороне сервера для перехвата и проверки каждого вызова путем проверки токена.Это сработало очень хорошо.

0 голосов
/ 18 декабря 2010

Вы можете написать собственный валидатор пароля с помощью WSHttpBinding. Это даст вам возможность подтвердить пароль пользователя. Однако вы не можете добавить данные в токен, который является общим, когда произойдет аутентификация.

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

http://www.pnpguidance.net/post/WCF35SecurityGuidelinesNowAvailable.aspx

Часть авторизации - сложная часть, так как вы можете либо указывать разрешение Главным образом, либо указывать обязательный параметр. http://msdn.microsoft.com/en-us/library/ff647503.aspx#AuthorizationOptionsWCF

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