我有一台grails(3.3.5)Web服务器,我对提高可用性感兴趣,我想添加另一台服务器并在其前面放置一个负载均衡器。
除了要在服务器之间共享 session 或使用粘性 session 外,我想知道是否有一个很好的方法来拥有一个无 session 的前端服务器。除了使用spring-security来验证用于标识用户的 session token 外,我不使用 session 进行其他任何操作。
我想找到一个适合前端的基于 token 的身份验证系统,以使该 token 安全且足以识别当前用户。
我看过grails-spring-security-rest插件,该插件看起来很有希望,但似乎每个人都在将其用于后端rest api调用。当您不在webapp session 中存储应用程序数据时,它还适合前端身份验证吗?
最佳答案
如果您在 Controller 中不使用session
对象,则tomcat将不会为您创建任何 session 。
您也可以将 Controller 定义为
static singleton = true
那么将不会根据每个请求实例化它们。
现在,如果您仍然想使用 session ,则可以使用Cookie Sessions之类的东西,并将数据保留在cookie中而不是tomcat的内存中。
我没有使用
grails-spring-security-rest
,但是您应该可以将spring-security-core
调整为无 session 的。您应该将scr.allowSessionCreation
设置为false
并使用remember-me
。