Наша система состоит из собственной службы WCF (не IIS) и веб-сайта Asp.net, на котором размещается приложение Silverlight. Приложение должно делать практически все, в данном случае веб-сайт - это просто «оболочка».
Нам сложно понять, как безопасно решить проблему аутентификации пользователей.
Насколько мне известно, Silverlight не может обрабатывать проверку подлинности Windows, не имеет каких-либо объектов учетных данных. Лучшее, что мы можем придумать, - это аутентифицировать пользователя, когда он запрашивает страницу, на которой размещено приложение. Затем мы можем передать имя пользователя приложению в его параметрах init.
Таким образом, у нас есть имя пользователя, которое может быть отправлено в службу wcf и может служить основой для обработки ролей. Проблема в том, что любой может позвонить в наш сервис без клиента Silverlight и передать имя пользователя. Кроме того, отправка незашифрованных конфиденциальных данных между службой WCF и приложением Silverlight - плохая идея. Итак, мой вопрос:
Как безопасно аутентифицировать клиента в этом сценарии?