session - 如何为登录GRAILS(Spring security)的用户实现 session ?

标签 session grails spring-security

如何为登录的用户实施 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/

相关文章:

php - wordpress wp-ecommerce 购物车标题/cookie 问题

grails - 将用户名和密码返回到登录表单 grails spring security

java - 如何测试Spring Security是否真正启用?

java - Spring websocket发送给特定的人

grails - 如何获取服务的spring bean实例,通过webflow中的依赖注入(inject)添加

java - 部署应用程序时未找到 DefaultSpringSecurityContextSource

.net - 如何检索任意时刻连接到 IIS 的用户数量?

php - 如何在 $_SESSION 中序列化/保存 DOMElement?

java - Wicket 意外 session ID

grails - Grails远程功能和Ajax