Безопасность WCF - Авторизация клиента

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

Служба WCF настроена с помощью wsHttpBinding и размещается в службе Windows.

Клиентское приложение - это веб-сайт asp.net. Кроме того, пользователи, вызывающие службу WCF, уже авторизованы клиентским приложением, поэтому просто нужно убедиться, что они авторизованы при обработке запроса на стороне службы.

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

Спасибо!


person inutan    schedule 06.11.2009    source источник


Ответы (1)


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

Если вы используете группы Windows для ASP.NET, применимо то же самое, просто авторизуйтесь повторно.

Сертификаты - это вариант, но вам придется ими управлять.

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

person Adam Fyles    schedule 06.11.2009