#grails #groovy
#grails #groovy
Вопрос:
Я ввел следующий код и отсортировал логин.
s2-quickstart com.app User Role UserRole
Теперь я хочу получить представление и контроллер для экрана входа в систему. Как я могу это получить. Должен ли я его сгенерировать?
Предполагается, что он должен быть в auth/
контроллере, и действие есть login
.
Но у меня даже нет auth
класса модели. Все, что у меня есть, это класс модели пользователя, который имеет атрибуты Usernmae
password
и т.д.
2.) После успешного входа в систему, как я могу перенаправить представление?
Ответ №1:
Вероятно, вы используете spring-security-core: 2.0-RC2, в этой версии плагина в папке контроллеров нет LoginController или logoutController, как в предыдущей версии, все о плагине находятся в target> work> plugins> spring-security-core-2.0-RC2> spring-security-core-2.0-RC2
Там вы можете найти LoginController, logoutController и auht view, я приказываю перезаписать auth view, все, что вам нужно сделать, это создать в каталоге представлений приложений новый каталог и вызвать его точно так же, как в представлении плагина в этом случае login и внутри login a представления auth.gsp и denied.gsp
Я надеюсь, что это может быть полезно
Комментарии:
1. Что насчет контроллеров? Должен ли я создать папку с именем login и иметь AuthController внутри? Какие другие контроллеры я должен включить.
2. Вам не нужно этого делать, все, что вам нужно сделать, это вызвать login controller действие по умолчанию — index, логика, лежащая в основе index, приведет вас к действию аутентификации, и по соглашению оно вызовет auth view.
Ответ №2:
Что касается вашего другого вопроса После успешного входа в систему, как я могу перенаправить представление? , grails spring security core имеет два поведения.
Сначала вы можете указать цель по умолчанию, это делается путем установки grails.plugin.springsecurity.successHandler.defaultTargetUrl = «/someurl
Второе поведение по умолчанию, если кто-то попытается получить доступ к какому-либо URL-адресу в вашем приложении, SSC перехватит запрос запроса учетных данных, если пользователь успешно аутентифицируется, пользователь будет перенаправлен на этот URL, иначе SSC снова запросит учетные данные и так далее.
Оба поведения могут сосуществовать
Простой пример просмотра в этом репозитории в github
Простой пример, как установить defaultTargetUrl в том же репозитории
я надеюсь, что это поможет вам