org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'USER' cannot be found on object of type
Из вышеприведенной ошибки видно, что проблема в том, что пользователь USER не распознается в рамках системы безопасности Spring. Вы забыли добавить заключить пользователя в ''.
Проблема в выражении: <intercept-url pattern="/list" access="hasRole(USER)"/>
. Замените его на <intercept-url pattern="/list" access="hasRole('USER')"/>
, и он будет работать.
Еще одна проблема, я видел, что вы используете hasRole для защиты своего ресурса /list
, но вы предоставили пользователю полномочия USER authorities="USER"
. Что произойдет, так это то, что hasRole добавит префикс ROLE_ к аргументу USER, который вы передали. Таким образом, ROLE_USER не будет равен USER, который является полномочием, которое вы назначаете пользователю.
Чтобы это исправить, вы можете либо изменить полномочия на `` `authority =" ROLE_USER "` `.
, либо заменить hasRole на hasAuthority, как показано ниже: access="hasAuthority('USER')"
.