Предположим, у меня есть следующий класс домена:Как обезопасить Grails веб-служб с пружинным безопасности
import grails.rest.Resource
@Resource(formats=['json'], uri='/api/book')
class Book {
String name
static belongsTo = [user: User]
}
Я определил пружинный interceptUrlMap безопасности в Config.groovy, чтобы ограничить доступ к URL:
'/api/book': ['ROLE_USER']
Lets предположим, что в системе есть две книги и два пользователя, а книга с идентификатором 1 принадлежит пользователю 1, а вторая книга принадлежит пользователю. 2. Пользователь 1 зарегистрирован, и следующий запрос должен вернуть книгу 1 (что она делает):
localhost:8080/myapp/api/book/1
, но если тот же пользователь делает запрос на следующий ресурс:
localhost:8080/myapp/api/book/2
Я хочу остальной API, чтобы вернуть пустой массив или «доступ запрещен». Как мне это достичь? Мне нужен подход там всех типов запросов, то есть GET/POST/PUT/DELETE.
есть посмотрите на http://grails-plugins.github.io/grails-spring-security-acl/docs/manual/guide/single.html – cfrick
Но тогда я должен определить каждое «действие» самостоятельно, я хочу пользователь Grails веб-сервисы. – ux11