Grails Spring Security: вход в систему с целевым URL пропускает рабочий процесс после аутентификации

В моем приложении Grails я настроил рабочий процесс авторизации постов, написав собственный обработчик успеха аутентификации (в resources.groovy), как показано ниже.

authenticationSuccessHandler (MyAuthSuccessHandler) {
    def conf = SpringSecurityUtils.securityConfig
    requestCache = ref('requestCache')
    defaultTargetUrl = conf.successHandler.defaultTargetUrl
    alwaysUseDefaultTargetUrl = conf.successHandler.alwaysUseDefault
    targetUrlParameter = conf.successHandler.targetUrlParameter
    useReferer = conf.successHandler.useReferer
    redirectStrategy = ref('redirectStrategy')
    superAdminUrl = "/admin/processSuperAdminLogin"
    adminUrl = "/admin/processAdminLogin"
    userUrl = "/admin/processUserLogin"
}

Как вы можете из последних трех строк в закрытии выше, в зависимости от роли, предоставленной для входа в систему пользователя, я перенаправляю ее на отдельные действия внутриAdminController где пользовательский UserSessionBean создается и сохраняется в сеансе.

Он отлично работает для обычного случая входа в систему, который в моем приложении выглядит так:

Пользователь приходит в приложение черезhttp://localhost:8080/my-app/ ИЛИ ЖЕhttp://localhost:8080/my-app/login/authОна вводит свой действительный логин и пароль и продолжает.Приложение имеет внутренний доступ к MyAuthSuccessHandler, который перенаправляет на AdminController с учетом роли, предоставленной этому пользователю.UserSessionBean создается и сохраняется в сеансеПользователь попал на главную страницу приложения

Я также написал обычайMyUserDetailsService расширяяGormUserDetailsService который правильно доступен в вышеуказанном потоке.

СЦЕНАРИЙ ПРОБЛЕМЫ:
Рассмотрим пользователя, непосредственно обращающегося к защищенному ресурсу (в этом случае контроллер защищен@Secured аннотации) в приложении.

Клики пользователейhttp://localhost:8080/my-app/inbox/indexПриложение перенаправляет ее наhttp://localhost:8080/my-app/login/authПользователь вводит свой действительный логин и парольПользователь принят вhttp://localhost:8080/my-app/inbox/index

MyAuthSuccessHandler полностью пропущен в этом процессе и, следовательно, мойUserSessionBean не создается, что приводит к ошибкам при дальнейшем использовании в местах, гдеUserSessionBean Доступ

ВОПРОСОВ:

В случае проблемы приложение пропускаетMyAuthSuccessHandler потому что есть целевой URL для перенаправления при входе в систему?Можем ли мы заставить процесс всегда проходить черезMyAuthSuccessHandler даже с целевым URL присутствует?Если ответ на 2 нет, есть ли альтернатива относительно того, как и гдеUserSessionBean все еще можно создать?