Я пытался интегрировать spring-security в одно из моих приложений Grails. Как уже упоминалось в руководстве по весенней безопасности, я установил плагин, используя следующий код.
BuildConfig.groovy: я добавил следующий код
repositories {
mavenRepo 'http://repo.spring.io/milestone'
}
plugins {
compile ':spring-security-core:2.0-RC2'
}
Позже я очистил код и скомпилировал его, чтобы обеспечить загрузку зависимостей. Я также проверил папку .grails, чтобы убедиться, что зависимости загружены.
Затем я создал классы User и Role. (Примечание: я назвал классы Person и Authority соответственно).
После этого я создал SecureController и не добавил никаких аннотаций доступа к безопасности, но все равно не могу получить доступ к безопасному контроллеру. Элемент управления напрямую перенаправляет на контроллер входа в систему.
Вопрос 1: Дело в том, что после использования весеннего плагина безопасности каждая страница нуждается в аутентификации. Есть ли способ получить доступ к странице без входа в систему
Затем я добавил аннотацию @Secured к SecureController. Аннотация @Secured вообще не обнаруживается, хотя она присутствует в папке плагинов для проекта. Сначала я подумал, что что-то упустил, поэтому я снова создал проект, начав выполнять те же шаги. Однако на этот раз плагин обнаруживается
Вопрос 2. Почему подключаемый модуль spring-security ведет себя так непоследовательно?
Я попытался получить доступ к SecureController без входа в систему, я получаю следующую ошибку.
EL1008E: (поз. 0): поле или свойство «ADMIN_ROLE» не найдено в объекте типа «org.springframework.security.web.access.expression.WebSecurityExpressionRoot»
Я также получаю ту же ошибку после входа в систему и попытки доступа к контроллеру.
Вопрос 3: Я пропустил какие-либо зависимости, которые необходимо указать.
На странице входа форма ведет к некоторому действию 'j_security_check'. Я не заметил этого действия ни в одном из контроллеров.
Вопрос 4. Нужно ли мне создавать новое действие с таким названием
Пожалуйста, помогите мне разобраться в этом вопросе. Заранее большое спасибо за помощь.