【发布时间】:2015-04-20 16:57:53
【问题描述】:
假设我有以下域类:
import grails.rest.Resource
@Resource(formats=['json'], uri='/api/book')
class Book {
String name
static belongsTo = [user: User]
}
我在Config.groovy中定义了spring security interceptUrlMap来限制url访问:
'/api/book': ['ROLE_USER']
假设系统中有两本书和两个用户,id 为 1 的书属于用户 1,第二本书属于用户 2。用户 1 已登录,以下请求应返回书 1(它确实):
localhost:8080/myapp/api/book/1
但如果同一用户向以下资源发出请求:
localhost:8080/myapp/api/book/2
我希望其余 API 返回一个空数组或“拒绝访问”。我如何实现这一目标?我需要一种方法来处理所有请求类型,即 GET/POST/PUT/DELETE。
【问题讨论】:
-
但是我应该自己定义每一个“动作”,我想使用 Grails 内置的 Web 服务。
标签: web-services grails spring-security restriction