В Grails, как я могу получить ссылку на все текущие сессии? - PullRequest
7 голосов
/ 10 сентября 2010

Я бы хотел перечислить все текущие сеансы в Admin Controller в Grails.Какой самый простой способ получить ссылку, например, на коллекцию сеансов с контроллера?

Ответы [ 2 ]

10 голосов
/ 10 сентября 2010

Это функция (отключена по умолчанию, но ее легко включить, установив grails.plugins.appinfo.useContextListener = true в Config.groovy) плагина App-Info: http://grails.org/plugin/app-info

2 голосов
/ 10 сентября 2010

есть «отличный» способ сделать это без SessionListener, есть сгенерированные события, которым можно назначить замыкания. Вы можете фиксировать успешные сеансы на карте / в списке и удалять сеансы после выхода из системы или

Регистрация обратных вызовов

rails.plugins.springsecurity.useSecurityEventListener = true
grails.plugins.springsecurity.onInteractiveAuthenticationSuccessEvent = { e, appCtx ->
   // handle InteractiveAuthenticationSuccessEvent
}

grails.plugins.springsecurity.onAbstractAuthenticationFailureEvent = { e, appCtx ->
   // handle AbstractAuthenticationFailureEvent
}

grails.plugins.springsecurity.onAuthenticationSuccessEvent = { e, appCtx ->
   // handle AuthenticationSuccessEvent
}

grails.plugins.springsecurity.onAuthenticationSwitchUserEvent = { e, appCtx ->
   // handle AuthenticationSwitchUserEvent
}

grails.plugins.springsecurity.onAuthorizationEvent = { e, appCtx ->
   // handle AuthorizationEvent
}
...