如何在grails utils包中获取springSecurityService

时间:2017-03-27 10:25:43

标签: 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 得到原则。

实际上我的意图是在创建自己的会话时将所有用户详细信息设置到会话中(来自sessionCreated方法)。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以从springSecurityService检索Holders

在顶部:

import grails.util.Holders

在方法中:

def springSecurityService = Holders.applicationContext.springSecurityService
def user = springSecurityService.currentUser