Я хостинг веб-службы REST в приложении Grails, используя Spring Security, т.е .:Вызов REST веб-службы, прикрепленную с Spring Security с Android
@Secured(['IS_AUTHENTICATED_REMEMBERED'])
def save = {
println "Save Ride REST WebMethod called"
}
Я звоню его из Android приложения. (Вызов незащищенной службы работает очень хорошо.)
Чтобы позвонить в службу, я вручную создаю запрос (HttpUriRequest
) и выполняю его с помощью HttpClient
.
мне интересно, что лучшие практики, и как их реализовать ... В частности, я должен:
- Выполните вход один раз, чтобы восстановить JSESSION_ID, затем добавить заголовок, содержащий его в HttpUriRequest для каждого последующего запроса?
- Или (не знаю, как я бы даже сделать это), включают имя пользователя и пароль непосредственно на каждый запрос, предшествующее печенье/серверный сеанс
Я думаю, что я могу получить вариант 1 рабочий, но не я конечно, если Spring Security разрешает (2), если это путь ... Спасибо!
- также нет никакой библиотеки, которую я пропускаю, что бы все это для меня есть? :)
Большое спасибо за ответ, это было близко (идеи очень помогли), но не работали из коробки - я сделал сообщение о том, что нужно, чтобы заставить его работать: http://storypodders.com/dasBlog/2011/01/22/SecuringRESTServicesInGrailsWithSpringSecurity.aspx – Bobby
Это был отличный пост, спасибо за его вклад, я уверен, он будет найден и полезен многим другим. –
Ввод имени пользователя и пароля в URL-адрес обычно считается плохой идеей. В файлах журналов Webserver часто содержатся параметры запроса, которые отображают ваши учетные данные. Любой, кто обращается к вашему RESTful-сервису из браузера, будет иметь учетные данные в своей истории. – Patrick