У меня есть приложение springboot, для которого требуется специальный обработчик ресурсов, в котором он хранит и извлекает файлы, помимо файла по умолчанию, который я получил и запустил с этим;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/data/**")
.addResourceLocations(resourceLocation)
.setCachePeriod(864000)
.resourceChain(true)
.addResolver(new PathResourceResolver())
;
}
Мое приложение имеет несколько прав доступа, которые должен иметь доступ к определенным частям расположения ресурса данных, например. / data / keys / ** должен быть доступен только администратору ADMINISTRATOR, / data / client / ** только клиенту, / data / public / ** всем.
я попытался выполнить эту функцию с помощью этой части кода:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.antMatcher("/data/**").authorizeRequests()
// ADMIN file restriction
.anyRequest().authenticated()
}
(я проверяю безопасность здесь на всех данных / **)
Теперь с этим кодом любой запрос к / data / ** matcher не аутентифицирован, и любой может получить к нему доступ независимо от того, что я делаю. Но каким-то образом я могу применить безопасность к обработчику ресурсов по умолчанию, и он прекрасно работает, если я пытаюсь ограничить.
Кто-нибудь знает, как обойти эту проблему?
Заранее большое спасибо!
ОБНОВЛЕНИЕ
После некоторого расследования и попытки Из опций с разными типами файлов и прав доступа я заметил, что в этом может быть ошибка. Я играл с этими расширениями файла .txt. html и файл без расширения. НАПРИМЕР.
Открыл новый браузер, попытался загрузить test.txt и test1 ---> Доступ запрещен
Войдите в систему с правами, отличными от ADMINISTRATOR, попытался загрузить test.txt и test1 ----> Запрещено
Вы вошли как ADMINISTRATOR, скачали оба
Вышли из системы
Пробная загрузка без учетных данных test.txt ---> Доступ запрещен; test1 ----> Загружено
Выполнено вход с правами, отличными от ADMINISTRATOR test.txt ---> Запрещено; test1 ----> Загружено
Я думаю, что есть ошибка с файлами без каких-либо расширений, кто-нибудь имел подобный опыт или знает, почему это происходит? Спасибо