Без изменений после успешного переключения пользователя на весеннюю защиту

Я включил переключение пользователя со следующими изменениями в Config.groovy:

grails.plugin.springsecurity.useSwitchUserFilter = true

grails.plugin.springsecurity.controllerAnnotations.staticRules = [
 '/j_spring_security_switch_user':['ROLE_SWITCH_USER', 'IS_AUTHENTICATED_FULLY' ],
 '/j_spring_security_exit_user':  ['permitAll']
 ]

И по GSP у меня есть следующее:

<sec:ifNotSwitched>
    <sec:ifAllGranted roles='ROLE_SWITCH_USER'>
        <form action='${request.contextPath}/j_spring_security_switch_user' method='POST'>
            Switch to user: <input type='text' name='j_username' />
            <input type='submit' value='Switch' />
        </form>
    </sec:ifAllGranted>
</sec:ifNotSwitched>

Когда я переключаюсь, я знаю, что это работает, потому что в моих журналах я получаю:

Attempt to switch to user [newusername]
switchuser.SwitchUserFilter  - Could not find original user Authentication object!
switchuser.SwitchUserFilter  - Switch User Token [<I see here the username for the user i switched to>]
authentication.AjaxAwareAuthenticationSuccessHandler  - Using default Url: /

И тогда приложение перенаправляет меня на URL-адрес, который я имею на springsecurity.switchUser.targetUrl

Пока все хорошо, но то, что я делаю в своем приложении, все равно выглядит как оригинальный пользователь / подражатель, а не как тот, на которого я переключился.

На самом деле у меня есть еще один GSP с:

<sec:ifLoggedIn>
    Logged in as <sec:username />
</sec:ifLoggedIn>

И ничего не отображается. Есть идеи?

0 ответов

Другие вопросы по тегам