|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
1. Как реализовать такое: Хотелось бы сделать сервис, поддерживающий только RESTFul, но есть вопрос: Клиент обязательно должен сделать первый вызов типа Логин, передав имя, пароль, имя скл сервера, имя базы, сервис должне ему вернуть некую строку, далее клиент передает в любой метод этс троку среди прочих параметров и может работать. Строка формируется так: проверяется коннект к скл серверу, если ок, то все данные шифруются и возвращаются клиенту в виде строки. В других методах полученная строка расшифровывается сервисом и используется для установки коннекта и выполнения запросов к базе и т.д. 2. Как передавать эту строку? по идее RESTFul ее надо бы передавать в урл вызова ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 15:47 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
Ролг Хупин, нужно смотреть в сторону oAuth. А по сути реализация примерно такова: 1) Клиент вызывает сервис Authentication c логином, паролем, имя сервера и т.д. все что необходимо. 2) Сервис создает уникальный сессионный токен (билетик), пишет все имя сервера и т.д. что необходимо в сессионную таблицу напротив токена. Токен возвращается в ответе клиенту. 3) Каждый следующий вызов клиент поставляет этот токен вызываемому сервису. Сервис проверяет сессию на валидность, вытаскивает по нему данные и далее уже выполняет нужную операцию. 2 момента: 1) Сессии нужно проверять на сервере и чистить по истечении какого времени, т.е. сессия не должна оставаться навечно. 2) Использовать SSL для безопасности данных медлу клиентом и сервисом. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 15:54 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
Ролг Хупин, и, да - WCF тут не пр чем. Все RESTful ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 15:55 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
AxeleronРолг Хупин, и, да - WCF тут не пр чем. Все RESTful Может и не WCF, это по привычке. Но к чему я такое написал: если поставить 3 сервиса, и между ними и клиентами какой-то лоадбалансер, то в таком случае клиенты легко будут перенаправляться на другой сервис, ведь всё передается в вызове. А если держать таблицы сессий, тогда надо чтобы сессии хранились где-то в общедоступном месте для всех трех сервисов, так? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 16:05 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
Ролг Хупин, этим общедоступным местом и будет таблица сессий в БД. Соответственно апликейшн серверам под лоадбалансером будет все равно какой из них обрабатывает запрос клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 16:12 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
AxeleronРолг Хупин, этим общедоступным местом и будет таблица сессий в БД. Соответственно апликейшн серверам под лоадбалансером будет все равно какой из них обрабатывает запрос клиента. Если сессии храниить в Redis, то им можно сразу назначать время жизни и не заморачиваться. Как клиент должен передавать токен, чтобы было все по идеологии RESTFul? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 16:29 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
Ролг ХупинЕсли сессии храниить в Redis, то им можно сразу назначать время жизни и не заморачиваться. Надо учесть, что сессия не должна тупо истечь по истечении N количества минут, а необходимо продлять на N минут после каждого запроса клиента. Ролг ХупинКак клиент должен передавать токен, чтобы было все по идеологии RESTFul? В header'е запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 16:33 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
AxeleronРолг ХупинЕсли сессии храниить в Redis, то им можно сразу назначать время жизни и не заморачиваться. Надо учесть, что сессия не должна тупо истечь по истечении N количества минут, а необходимо продлять на N минут после каждого запроса клиента. Ролг ХупинКак клиент должен передавать токен, чтобы было все по идеологии RESTFul? В header'е запроса. т.е. лучше хранить сессии в каком-то общедоступном Storage, чем гонять строку во все методы с зашифрованными данными? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 16:38 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
Ролг Хупинт.е. лучше хранить сессии в каком-то общедоступном Storage, чем гонять строку во все методы с зашифрованными данными? Как Вы себе это представляете? В случае с Web Application, Ваша сессионная аутентификационная кука автоматически гоняется в запросе к вэб серверу. В случае с сервисами Вы создаете запрос к сервису программно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 16:56 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
AxeleronРолг Хупинт.е. лучше хранить сессии в каком-то общедоступном Storage, чем гонять строку во все методы с зашифрованными данными? Как Вы себе это представляете? В случае с Web Application, Ваша сессионная аутентификационная кука автоматически гоняется в запросе к вэб серверу. В случае с сервисами Вы создаете запрос к сервису программно. имеется в виду, что эта кука не некий ключ к таблице сессий на сервере, а строка содержащая в зашифрованном виде все данные для логина ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 19:51 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
Ролг ХупинAxeleronпропущено... Как Вы себе это представляете? В случае с Web Application, Ваша сессионная аутентификационная кука автоматически гоняется в запросе к вэб серверу. В случае с сервисами Вы создаете запрос к сервису программно. имеется в виду, что эта кука не некий ключ к таблице сессий на сервере, а строка содержащая в зашифрованном виде все данные для логина И зачем лишнюю информацию каждый раз гонять с клиента в сервис? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2016, 20:01 |
|
WCF RESTFul сервис: как сделать такое?
|
|||
---|---|---|---|
#18+
AxeleronРолг Хупинпропущено... имеется в виду, что эта кука не некий ключ к таблице сессий на сервере, а строка содержащая в зашифрованном виде все данные для логина И зачем лишнюю информацию каждый раз гонять с клиента в сервис? хороший вопрос, мне казалось, что в таком случае будет полная независимость при вызове методов, сервису информацию о сессиях хранить не нужно и в любой момент мклиента можно переключить на другой сервис. Но в этом случае непонятно, как тогда обрабатывать время жизни сессии. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 11:57 |
|
|
start [/forum/topic.php?fid=19&fpage=4&tid=1396787]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 287ms |
total: | 408ms |
0 / 0 |