当用户第一次直接访问某些受限制的url时,如果没有登录,spring security将重定向到登录页面。如果登录成功,则将用户重定向到请求的页面。在用户登录成功和页面重定向到请求的页面之间,如何初始化http session 中的用户特定设置。可以使用哪些事件来设置具有登录用户详细信息的 session 。
编辑:
我的意图不是在 session 中保存用户详细信息。根据用户的不同,登录后我必须更改显示的内容才能转到其他页面。
最佳答案
您不应该这样做-这会浪费服务器内存,并且会影响可伸缩性。摆脱在 session 中存储大量不必要数据的习惯。
插件使用的Authentication
类缓存在登录期间使用的User
/ Person
域类实例的ID。因此,重新加载域类实例很容易-只需调用def user = springSecurityService.currentUser
即可。这种方法的另一个好处是可以避免延迟加载异常和分离的Hibernate对象带来的其他问题。
关于spring - Grails-Spring Security- session 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18840909/