【发布时间】:2012-01-15 01:39:52
【问题描述】:
我正在构建简单的 Grails 应用程序。为了安全,我使用 Spring Security 插件和 Spring Security UI。 我想拥有三种类型的用户:
- 标准用户(客户),
- 支持用户
- 管理用户
客户将登录并提出一些请求,支持人员将收到这些请求并做出响应。管理员将负责管理用户权限和角色以及其他一些东西。
所以基本上我有三个角色:
- ROLE_USER
- ROLE_SUPPORT
- ROLE_ADMIN
当用户登录时,他/她会根据用户角色重定向到不同的页面。我是按照以下建议做的 link.
这行得通。但有时我会收到以下错误:
Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。此问题有时可能是由禁用或拒绝接受 cookie 引起的。
这是我的 UrlMappings.groovy:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/"(controller:'login', action:'auth')
"500"(view:'/error')
}
}
什么是正确的方法?我应该为每个角色制作不同的控制器,还是应该制作一个 RequestController(大部分工作是通过请求域类完成的),例如为每个角色指定不同的操作 - 例如 userList、supportList、adminList 等。
【问题讨论】:
-
@Antoine 感谢您的编辑。现在好多了。
-
当你说有时,究竟是什么时候?我的意思是你能在某些情况下总是重现它吗?这些是什么情况?
-
@omarello 它工作正常,但是当我做了一些小改动时,它就进入了这个循环。我不记得确切的变化是什么。因此,在我进一步研究之前,我将使用请求控制器的索引操作进行重定向。
标签: grails architecture spring-security