Spring Security и Grails — настройка URL-адресов

В текущем приложении Grails, над которым я работаю, все управление моей учетной записью теперь происходит под контроллером учетной записи, и я хотел бы, чтобы все эти действия отображались под шаблоном URL /account/*.

Я использую Spring Security Core. При неудачном входе приложение по-прежнему направляет меня на
/login/authfail?login_error=1
Я хочу использовать
/account/authfail?login_error=1

Итак, мой вопрос заключается в том, как мне настроить значение по умолчанию
SpringSecurityUtils.securityConfig.successHandler.defaultTargetUrl
и любой URL-адрес сбоя (мне нужно знать имя этого свойства). где-то задокументировано?


person BuddyJoe    schedule 30.05.2011    source источник


Ответы (2)


Плагин spring-security-core на самом деле является одним из лучших документированных плагинов. Все параметры конфигурации URL можно найти здесь . В частности, вам нужен failureHandler.defaultFailureUrl и, возможно, failureHandler.ajaxAuthFailUrl. Заметьте, я считаю, что это будут глобальные изменения. Поэтому, если вам нужно заблокировать другие аспекты вашего сайта, кроме «учетных записей», URL-адрес для неудачной попытки будет таким же, как вы его настроили.

person Gregg    schedule 30.05.2011
comment
Я смог найти его, используя сайт: burtbeckwith.github.com, а затем условия поиска в Google. спасибо +1 Вот список реквизита burtbeckwith.github.com/grails-spring-security-core/docs/manual/ Я попробую, а потом вернусь и отмечу вопрос - person BuddyJoe; 31.05.2011
comment
Эта строка в Config.groovy работала — grails.plugins.springsecurity.failureHandler.defaultFailureUrl = '/account/authfail?login_error=1' - person BuddyJoe; 31.05.2011

В UrlMapping.groovy добавьте следующую инструкцию:

"/account/$action?/$id?"{
   controller="login"
}
person Jonathan Lebrun    schedule 30.05.2011
comment
Я думаю, что это сработает, но это был не идеальный способ, которым я хотел решить эту проблему. - person BuddyJoe; 31.05.2011