spring - 如何在grails utils包中获取springSecurityService

标签 spring grails

我在grails 2.4.4应用程序中使用spring-security-2.0。我在我的utils包中创建了以下groovy类。

package com.util.portal;

import com.services.portal.UserSessionService
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;


public class CustomSessionControl implements HttpSessionListener {

	public void sessionCreated(HttpSessionEvent sessionEvent) {
		/* Do whatever we want */

	}

	public void sessionDestroyed(HttpSessionEvent sessionEvent) {
		/* Do whatever we want */
	}

}


我只想在sessionCreated()方法中使用springsecurityService
得到原理。

实际上,我的意图是在 session 创建时(通过sessionCreated方法)将所有用户详细信息设置到 session 中。

我怎样才能做到这一点?

最佳答案

您可以从springSecurityService检索Holders

在顶端:

import grails.util.Holders

在方法中:
def springSecurityService = Holders.applicationContext.springSecurityService
def user = springSecurityService.currentUser

关于spring - 如何在grails utils包中获取springSecurityService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43043881/

相关文章:

java - Spring多对多选择

java - RabbitMQ - Java Spring - 如何初始化交换到多个队列?

grails - 在 Grails 中,如何声明域类的 SQL Server 架构名称?

grails - Grails按钮无法执行我的操作?

iphone - 从服务器而不是客户端应用程序发布在Facebook墙上

linux - 全新的 Debian STS 安装在启动时崩溃

java - Hibernate 和 Spring - org.hibernate.PropertyAccessException : Could not set field value [1] value by reflection

spring - 这个 ClientAbortException 是从哪里来的?

grails - Grails 3.3.8:无法解析ControllerUnitTest

grails - Grails 3 中一对多域的深层复制