Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Новый топик    Ответить
 Защита методов POST, DELETE  [new]
EVM
Member

Откуда:
Сообщений: 1
Работаю с %CSP.REST. Как сделать так, чтобы не авторизированному пользователю были доступны не все "Route", а только отдельные?
XData UrlMap
{
<
Routes>

  <
Route Url="/temp" Method="POST" Call="WEB.JSON:DefaultTemplate"/> "Допустим этот не доступен"
  <
Route Url="/test" Method="GET" Call="WEB.Broker:Test"/> 

</
Routes>
}


Сообщение было отредактировано: 8 июл 15, 09:53
14 авг 13, 09:54    [14706003]     Ответить | Цитировать Сообщить модератору
 Re: Защита методов POST, DELETE  [new]
eduard93
Member

Откуда:
Сообщений: 175
В общем и целом это делается в два этапа:
1. Создание ролей (Меню -> Управление ролями). Там определяются все необходимые роли: для зарегистрированного и незарегистрированного пользователя, с раздачей каждому соответствующих привилегий, SQL таблиц (и что в них можно делать) и.т.д.
2. Настройка веб приложения. Производится в Меню -> Управление веб-приложениями. Тут возможно 2 варианта:
а) Во вкладке Application Roles выбираем роль незарегистрированного пользователя - она будет автоматически назначена всем пользователям, работающим с веб-приложением. Во вкладке Matching roles находим роль, которой уже будет обладать зарегистрированный пользователь и добавляем ему роль, созданную для зарегистрированного пользователя на этапе 1.
б) Создание двух веб приложений, и, соответственно назначение каждому отдельного брокера и своей Application Roles, с соответствующим типом аутентификации на вкладке General. Два веб-приложения могут иметь имена вида: /appname и /appname/admin
15 авг 13, 12:27    [14712288]     Ответить | Цитировать Сообщить модератору
 Re: Защита методов POST, DELETE  [new]
doublefint
Member

Откуда: Беларусь, Минск
Сообщений: 945
EVM, еще вариант - переопределить метод DispatchRequest в своем брокере и добавить дополнительную проверку пользователя
/// Dispatch a REST request according to URL and Method
ClassMethod DispatchRequest(pUrl As %String, pMethod As %String) As %Status {
16 авг 13, 12:27    [14717899]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Защита методов POST, DELETE  [new]
servit
Member

Откуда: г. Кишинёв, Республика Молдова
Сообщений: 3134
Блог
EVM,

С версии 2015.2 можно переопределить методы AccessCheck/OnPreDispatch и/или Login.
Ещё погуглите по "защита rest api".

Сообщение было отредактировано: 8 июл 15, 09:54
8 июл 15, 09:52    [17865867]     Ответить | Цитировать Сообщить модератору
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Ответить