Отсутствует представление аутентификации / входа и контроллер

#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 в том же репозитории

я надеюсь, что это поможет вам