powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF RESTFul сервис: как сделать такое?
12 сообщений из 12, страница 1 из 1
WCF RESTFul сервис: как сделать такое?
    #39192444
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Как реализовать такое:
Хотелось бы сделать сервис, поддерживающий только RESTFul, но есть вопрос:
Клиент обязательно должен сделать первый вызов типа Логин, передав имя, пароль, имя скл сервера, имя базы, сервис должне ему вернуть некую строку, далее клиент передает в любой метод этс троку среди прочих параметров и может работать.
Строка формируется так: проверяется коннект к скл серверу, если ок, то все данные шифруются и возвращаются клиенту в виде строки.
В других методах полученная строка расшифровывается сервисом и используется для установки коннекта и выполнения запросов к базе и т.д.

2. Как передавать эту строку? по идее RESTFul ее надо бы передавать в урл вызова
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192450
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин, нужно смотреть в сторону oAuth.
А по сути реализация примерно такова:
1) Клиент вызывает сервис Authentication c логином, паролем, имя сервера и т.д. все что необходимо.
2) Сервис создает уникальный сессионный токен (билетик), пишет все имя сервера и т.д. что необходимо в сессионную таблицу напротив токена. Токен возвращается в ответе клиенту.
3) Каждый следующий вызов клиент поставляет этот токен вызываемому сервису. Сервис проверяет сессию на валидность, вытаскивает по нему данные и далее уже выполняет нужную операцию.

2 момента:
1) Сессии нужно проверять на сервере и чистить по истечении какого времени, т.е. сессия не должна оставаться навечно.
2) Использовать SSL для безопасности данных медлу клиентом и сервисом.
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192455
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин, и, да - WCF тут не пр чем. Все RESTful
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192476
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronРолг Хупин, и, да - WCF тут не пр чем. Все RESTful

Может и не WCF, это по привычке.
Но к чему я такое написал:

если поставить 3 сервиса, и между ними и клиентами какой-то лоадбалансер, то в таком случае клиенты легко будут перенаправляться на другой сервис, ведь всё передается в вызове.
А если держать таблицы сессий, тогда надо чтобы сессии хранились где-то в общедоступном месте для всех трех сервисов, так?
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192489
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин, этим общедоступным местом и будет таблица сессий в БД. Соответственно апликейшн серверам под лоадбалансером будет все равно какой из них обрабатывает запрос клиента.
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192514
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronРолг Хупин, этим общедоступным местом и будет таблица сессий в БД. Соответственно апликейшн серверам под лоадбалансером будет все равно какой из них обрабатывает запрос клиента.

Если сессии храниить в Redis, то им можно сразу назначать время жизни и не заморачиваться.
Как клиент должен передавать токен, чтобы было все по идеологии RESTFul?
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192522
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинЕсли сессии храниить в Redis, то им можно сразу назначать время жизни и не заморачиваться.
Надо учесть, что сессия не должна тупо истечь по истечении N количества минут, а необходимо продлять на N минут после каждого запроса клиента.

Ролг ХупинКак клиент должен передавать токен, чтобы было все по идеологии RESTFul?
В header'е запроса.
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192528
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronРолг ХупинЕсли сессии храниить в Redis, то им можно сразу назначать время жизни и не заморачиваться.
Надо учесть, что сессия не должна тупо истечь по истечении N количества минут, а необходимо продлять на N минут после каждого запроса клиента.

Ролг ХупинКак клиент должен передавать токен, чтобы было все по идеологии RESTFul?
В header'е запроса.

т.е. лучше хранить сессии в каком-то общедоступном Storage, чем гонять строку во все методы с зашифрованными данными?
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192545
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупинт.е. лучше хранить сессии в каком-то общедоступном Storage, чем гонять строку во все методы с зашифрованными данными?
Как Вы себе это представляете? В случае с Web Application, Ваша сессионная аутентификационная кука автоматически гоняется в запросе к вэб серверу. В случае с сервисами Вы создаете запрос к сервису программно.
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192690
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronРолг Хупинт.е. лучше хранить сессии в каком-то общедоступном Storage, чем гонять строку во все методы с зашифрованными данными?
Как Вы себе это представляете? В случае с Web Application, Ваша сессионная аутентификационная кука автоматически гоняется в запросе к вэб серверу. В случае с сервисами Вы создаете запрос к сервису программно.

имеется в виду, что эта кука не некий ключ к таблице сессий на сервере, а строка содержащая в зашифрованном виде все данные для логина
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39192702
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинAxeleronпропущено...

Как Вы себе это представляете? В случае с Web Application, Ваша сессионная аутентификационная кука автоматически гоняется в запросе к вэб серверу. В случае с сервисами Вы создаете запрос к сервису программно.

имеется в виду, что эта кука не некий ключ к таблице сессий на сервере, а строка содержащая в зашифрованном виде все данные для логина
И зачем лишнюю информацию каждый раз гонять с клиента в сервис?
...
Рейтинг: 0 / 0
WCF RESTFul сервис: как сделать такое?
    #39193128
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronРолг Хупинпропущено...


имеется в виду, что эта кука не некий ключ к таблице сессий на сервере, а строка содержащая в зашифрованном виде все данные для логина
И зачем лишнюю информацию каждый раз гонять с клиента в сервис?

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

Но в этом случае непонятно, как тогда обрабатывать время жизни сессии.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF RESTFul сервис: как сделать такое?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]