В классе WebSecurityConfig
вы устанавливаете для allowAll только '/'
, '/home'
и '/resources/**'
.Анонимный пользователь может получить доступ к этим трем конечным точкам без проверки безопасности.
Для файла test.js
src указывает на test.js
в текущем URL.Поэтому, когда вы запускаете его на локальном хосте, браузер пытается найти test.js
как http://localhost:{port}/{current-page-url}/test.js
Например, если страница находится под /home
, то браузер вызывает http://localhost:8080/home/test.js
, но, как вы определилив WebSecurityConfig
любой вызов, кроме самого /home
, будет заблокирован Spring Security.(/home
- это не то же самое, что /home/**
)
Так что вам нужно изменить URL-адрес источника на <script src="/resources/test.js"></script>
Поскольку любой объект в конечной точке /resources/**
может быть доступен любому, и онуже зарегистрирован в конфигурации resourceHandler в MvcConfig
registry.addResourceHandler("/resources/**")
.addResourceLocations("classpath:/");
Надеюсь, это поможет!Happy Coding:)
ADD:
Кроме того, в теге <script>
вы должны изменить атрибут type
на text/javascript
, или вы можете просто удалитьатрибут, и он будет работать.