К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Авторизация в веб-сервисе

Гость
0 - 13.03.2012 - 13:34
Господа, что-то я забуксовал.
Есть задача нарисовать веб-сервис, который предоставляет некий API для управления балансом клиента - состояние счета, подключить услугу и т.п.
Хочется защитить все это дело - чтобы каждый клиент видел только данные о себе.
Пока в голове вертятся только два решения влоб:
1) В каждом SOAP-запросе передавать логин/пароль клиента.
2) Создать функцию для авторизации, которая возвращает некий идентификатор сессии. И для остальных запросов уже юзать этот идентификатор.

Оба этих варианта вызывают нарекания. Первый постоянно светит логин/пароль в сети, а для второго трудно придумать достаточно надежный идентификатор.
Посматриваю в сторону OAuth, но пока не понял, насколько он мне годится.

Может, есть какие-нибудь встроенные средства или некий good practice?

P.S. Реализация веб-сервиса - на .NET WCF. При должной аргументации рассмотрю вариант с J2EE.



Гость
1 - 13.03.2012 - 19:31
Если я просто скажу, что нужно изучить .net wcf, так как для него твои хотелки - стандартная рутинная задача, такой ответ устроит? :)
Гость
2 - 13.03.2012 - 22:02
http://en.wikipedia.org/wiki/WS-Security - штандартное средство
Гость
3 - 13.03.2012 - 22:50
Автору лучше изучить .net wcf, бо используя его он даже мизинцем не прикоснется к голому WS-Security, оно под капотом. Аутентификация, авторизация, безопасность на уровне транспорта/сообщения, разные типы кредов и их хранилищ и т. п.. [*****] даже самому провайдеров настрогать, если приспичит. Все это есть штатно.
Гость
4 - 13.03.2012 - 22:51
*возможность касаться того, что под капотом есть тоже в этом фреймворке*
Гость
5 - 16.03.2012 - 15:03
Если я правильно понял, в итоге реализация внутри фреймворков (что .NET, что Java) сводится к тому, что логин/пароль передаются в заголовке SOAP-запроса, Только внешне все прикрыто обёртками.
Конечно, штатная реализация сильно облегчает дело, но все-таки ожидал чего-то особенного. )
Гость
6 - 16.03.2012 - 18:04
Креды могут передаваться как на уровне сообщения, так и транспорта. Все зависит от схемы, которую ты примешь в рамках обеспечения безопасности доступа к сервису.

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

Вот как раз фреймворки типа wcf решают эти задачи. Как правило, декларативно для стандартных сценариев. Твой сценарий стандартный.

Читать много прийдется. Это да. Но дело стоящее, если с этим связана повседневная работа.


К списку вопросов






Copyright ©, Все права защищены