пятница, декабря 15, 2006

Аутентификация в веб-сервисах 2

(Продолжние)

 

Продолжаю в свободное время разбираться с проблемой аутентификации в веб-сервисах. От первой идеи написать все самому я, слава Богу, отказался :) Потом пытался использовать код из статьи «How to: Perform Custom Authentication Using SOAP Headers», но как-то не верилось что нет более правильного метода. Предложенный метод выглядел как-то уж слишком custom.

И «правильный» метод существует — Web Service Enchancements (WSE) и руководство по безопасности веб-сервисов.

Коцептуально, существует два способа аутентификации: аутентификация через посредника (brokered) и непосредственная аутентификация (direct). Грубо говоря, аутентификация через посредника (Microsoft Passport) хороша когда клиент не доверяет сервису и не хочет ему предоставлять свои credentials, например номер своей кредитки при покупке в он-лайн магазине. Так же, метод хорош для так называемых «single sign-on» концепций. (Примечание: все «за» и «против» для обоих методов собраны в руководстве.)

В моем случае нужна непосредственная аутентификация, что означает что клиент должен предоставить сервису логин и пароль, что бы сервис смог его аутентифицировать.

Ну а дальше, открываем руководство, Глава 1 «Authentication Patterns», раздел «Direct Authentication» и делаем как там написано.

 

P.S. надо б еще прототипчик наваять, что б все усвоилось…