Без изменений после успешного переключения пользователя на весеннюю защиту
Я включил переключение пользователя со следующими изменениями в 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>
И ничего не отображается. Есть идеи?