Rest Grails、Spring安全性和Angular JS-如何保护URL?

Rest Grails、Spring安全性和Angular JS-如何保护URL?,rest,angularjs,grails,spring-security,Rest,Angularjs,Grails,Spring Security,您好,我用Grails内置后端,AngularJS内置前端构建应用程序。我想使用GrailsSpring安全插件给我的应用程序提供一些安全性,但我遇到了一些问题。首先,我不知道如何只允许具有指定角色的用户访问专用URL 例如,我有3种类型的URL /userspace/** - (eg. http://localhost:8080/MyApp/#/userspace/settings -displays view with user's profile settings) /adminspac

您好,我用Grails内置后端,AngularJS内置前端构建应用程序。我想使用GrailsSpring安全插件给我的应用程序提供一些安全性,但我遇到了一些问题。首先,我不知道如何只允许具有指定角色的用户访问专用URL

例如,我有3种类型的URL

/userspace/**  - (eg. http://localhost:8080/MyApp/#/userspace/settings -displays view with user's profile settings)
/adminspace/** - (eg. http://localhost:8080/MyApp/#/adminspace/usersManagement - displays view with registered users) 
/rest/** - (eg. http://localhost:8080/MyApp/rest/book - returns JSON list of books, http://localhost:8080/MyApp/book/123 - returns book as JSON with id=123.
我想为
ROLE\u USER
授予
/userspace/
访问权限,并为
ROLE\u ADMIN
授予
/adminspace/
访问权限

我不知道我应该在
Config.goovy
中设置什么属性才能使它成为可能?在url中有angular的
#

我也不确定应该如何保护
/rest/**
。这些URL用于与后端通信,有时由angular的
$http
服务从angular的所有可见视图控制器调用,但有时从受保护视图调用。也许方法是让/rest/**url对所有人都可用,并在grails控制器中使用指定的注释,例如
@Secured(['ROLE\u USER'])

我将非常感谢您的帮助

这里讨论了这一点(当然不是特定于角度):


如果您有带注释的控制器,请在
controllernotations.staticRules
map中映射这些额外的URL。否则,请在数据库中使用Requestmaps,或者在
interceptUrlMap
属性中使用一个大映射。

谢谢,它可以工作。我不知道这是否是一个错误,但是Spring安全文档说我应该使用:
grails.plugin.springsecurity.controllernotations.staticRules
。直到我将它改为
grails.plugins.springsecurity.controllernotations.staticRules
,它才起作用。也许这对某人会有帮助。我不确定你使用的插件是什么版本。我的链接是针对2.0插件的,但是1.2文档在