2009-11-06 5 views
0

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

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

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

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

Спасибо!

ответ

1

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

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

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

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