У меня странная проблема (Spring 5.0.8, Spring Boot 2.0.5) с нашим проектом.Когда я запускаю его локально в моей среде Eclipse, он работает отлично.Под «этим» я подразумеваю, что выражение
<security:authorize access="isAnonymous()">
<li class="navbar-item"><a href="/signin">
<spring:message code="menu.signin" />
</a></li>
</security:authorize>
оценивается нормально, пока пользователь не вошел в систему, он / она является анонимным.Этот код находится в нашем приложении уже 6 месяцев и работал отлично.
Поскольку я внес довольно много изменений в наши механизмы ведения журналов и начал переключать часть проекта на Thymeleaf (все работает нормально), я наконец создал новую WAR с Maven и развернул ее на EBS.
Теперь кажется, что не только
<security:authorize ...>
больше не работает, _csrf-теги, которые оцениваются с использованием
<meta th:name="_csrf" th:content="${_csrf.token}" />
<meta th:name="_csrf_header" th:content="${_csrf.headerName}" />
, не могут быть оценены (только наСреда EBS - локально все в порядке).
Я начал отслеживать проблему в журналах и обнаружил, что приведенное выше выражение приводит к исключению
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'token' cannot be found on null
, которое может отсутствовать, когда _csrfnull.
Вопрос : Кто-нибудь когда-нибудь сталкивался с подобной проблемой?Я не ожидаю ответа на мою проблему здесь, но мне интересно, почему все может отлично работать на моей локальной установке и больше не работает при публикации на EBS?
Может ли быть проблема с моей конфигурацией (на основе аннотаций) и переменные / bean-компоненты в Spring не могут быть оценены при публикации?
Так как приведенный выше пример JSP не работает (и код Thymeleaf также), я ожидаю, что это проблема бэкэнда Spring, а неПроблема с тимьяном.
Спасибо за любые предложения по этому вопросу.