Hum*_*ise 1 authentication grails
我只需要当前登录用户的名称.与gsp一起显示的内容相同<sec:username/>.我不知道该怎么做.以下是之前的答案和问题 - 它们似乎都需要一些导入,并且没有一个解决方案适合我:
具体来说,我想访问控制器中的用户名并将其放入域实例的变量中,以便将其(与其他信息一起)保存到数据库中以进行日志记录.在控制器内部,没有什么可以看到甚至远程引用人/用户类,弹簧安全或任何其他听起来像它可能做我想要的事情.
您可以使用,访问与登录用户对应的域对象springSecurityService.currentUser,然后从那里获取用户名(或您需要的任何其他属性).由于Groovy的动态特性,您不需要导入域类或SpringSecurityService类来执行此操作,只需使用无类型依赖注入
def springSecurityService
Run Code Online (Sandbox Code Playgroud)
你可以访问springSecurityService.currentUser?.username(或其他).
虽然Burt在评论中指出,如果它只是您想要的用户名,那么使用它会更有效,springSecurityService.authentication.principal.username因为这不需要从数据库加载用户对象.你只需要currentUser,如果你想从ID或用户名的用户对象一旁的其他属性.
| 归档时间: |
|
| 查看次数: |
3846 次 |
| 最近记录: |