如何为登录的用户实施 session
这是我执行的代码
def user=User.findByUserId(params.userId)
if(user)
{
def sessionUser=user
def sessionId=sessionUser.id
constSessionUser=sessionUser
constSessionId=sessionId
..........
}
但是,如果我使用不同的用户名和密码登录,即使我已经使用session.invalidate()终止了它,返回的params.userId仍然是以前的用户。
由于我是使用Springsecurity的,所以我只传递用户名和密码,但是创建的 session 仍然是以前的用户或当前注册的任何其他用户!
1)自 Spring 起,我如何为登录的用户创建 session
def user=User.findByUserName(params.username)
也导致了同样的问题
2)我如何终止 session ,即使不同的用户已登录,该 session 也不会进行
任何帮助将不胜感激...作为Grails的新手...
最佳答案
如果您使用的是Spring Security插件,则无需使用 session 或手动跟踪用户。在需要时,您可以通过SpringSecurityService
(see docs)访问用户详细信息,例如:
class MyController() {
SpringSecurityService springSecurityService
def me() {
render model: [user: springSecurityService.currentUser]
}
}
关于session - 如何为登录GRAILS(Spring security)的用户实现 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10394343/