所以我需要一些关于我的项目布局/结构的帮助。我正在制作一个网站,到目前为止,我有一个有效的登录页面,该页面使用 Apache Shiro 针对 LDAP 服务器对用户进行身份验证,并将用户重定向到启动页面。根据用户拥有的权限,他们应该/不应该能够查看启动页面上的某些内容。
我想做的是从会话信息(即刚刚登录的用户)中创建一个新的 ShiroUser 并为他们分配一些角色。例如,
def shiroUser = new ShiroUser()
shiroUser.username = session.username
shiroUser.addToRoles(ShiroRole.findByName('ROLE_USER'))
shiroUser.save()
并且ROLE_USER
将由
def shiroRole = new ShiroRole()
shiroRole.name='ROLE_USER'
shiroRole.save()
现在我只对硬编码感兴趣,然后对其进行调整以在表格中查找并根据该表格中的值分配角色。
我想知道的是
- 我把这些东西放在哪里?
- 我要为此创建一个新控制器吗?
- 我在哪里定义 shiroRoles?
- 这甚至聪明吗?(每次有人登录时创建一个新的 ShiroUser)
我以前从未建立过网站,所以我不确定我应该如何构建代码或将东西放在哪里。(顺便说一句,我正在使用 GGTS。)一些方向/建议将不胜感激!我正在使用许多书籍,如 Grails in Action、Making Java Groovy 和 The Definitive Guide to Grails 2 来提供帮助,但他们的大多数示例与我想做的不匹配。如果有任何我没有找到的教程,我有兴趣看到它们。(我已经看了很多,但他们只是有我列出的代码片段,但没有具体说明它们的实际去向!)