Grails Spring Security Switch Проблемы с настройкой пользователя

Я пытаюсь настроить функцию SwitchUser плагина Spring Security и не удается. По большей части, это кажется простым и неукоснительным, но после того, как весь код установлен на месте и нажата кнопка "Переключить", он просто перенаправляет меня на домашний URL по умолчанию без переключения.

Кто-нибудь имеет больше информации, чем то, что уже существует на официальном сайте плагинов Spring Security Core? Я изучал Goggling и читал все, что связано с ним, и не нашел никакой оригинальной информации - почти все это копия оригинальной документации Беквита и Тэлботта.

Ниже приведен код для моего приложения:

Config.groovy

grails.plugins.springsecurity.useSwitchUserFilter = true

grails.plugins.springsecurity.interceptUrlMap = [
    '/j_spring_security_switch_user': ['ROLE_SWITCH_USER', 'isFullyAuthenticated()'],
    '/j_spring_security_exit_user': ['permitAll'],
]

Я не уверен, должен ли я использовать interceptUrlMap или controllerAnnotations (?), Или какие критерии будут определять, какой использовать.

Код.gsp:

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

<sec:ifSwitched> 
    <a href='${request.contextPath}/j_spring_security_exit_user'> 
        Resume as <sec:switchedUserOriginalUsername/> 
    </a> 
</sec:ifSwitched>

<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'/><br/> 
            <input type='submit' value='Switch'/> 
        </form>

    </sec:ifAllGranted> 
</sec:ifNotSwitched>

Я не знаю ни о каком другом коде или настройках. Дайте мне знать, если вам нужно больше информации.

2 ответа

Похоже, что фильтр принимает переключение только между пользователями с ролью ROLE_SWITCH_USER

Оказывается, весь код для SwitchUser был реализован правильно. Хотя SwitchUser по-прежнему не работает согласованно, проблема была не в коде, включенном в вопрос. У нас были проблемы с реализацией ролей в Grails.

Я хотел бы иметь лучший ответ. Я все еще хотел бы узнать больше о SwitchUser - больше, чем то, что я нашел с Googles.

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