0
graam 2.4.4アプリケーションでspring-security-2.0を使用するIam。私は自分のutilsパッケージに以下のgroovyクラスを作成しました。grails utilsパッケージ内でspringSecurityServiceを取得する方法
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 {
\t public void sessionCreated(HttpSessionEvent sessionEvent) {
\t \t /* Do whatever we want */
\t }
\t public void sessionDestroyed(HttpSessionEvent sessionEvent) {
\t \t /* Do whatever we want */
\t }
}
私はちょうど原則を取得するのsessionCreated()メソッド 内springsecurityServiceを使用します。
実際に私の意図は、(sessionCreatedメソッドから)自分自身を作成するときに、すべてのユーザーの詳細をセッションに設定することです。
どうすればいいですか?
私はこのようなコードがspringSecurityService = Holders.applicationContext.springSecurityService DEF実装。文字列UserId = springSecurityService.getPrincipal()。getId();メッセージのようにエラーが発生しました:ヌルオブジェクトでメソッドgetId()を呼び出せません –
良いニュースは、「springSecurityService」が注入されていることです。そしてあなたは何のために校長が必要ですか? –
私はちょうどログインしているユーザーのIDが必要です。これは主体から得るでしょう –