Size: a a a

2021 July 07

D

Dima in pro.jvm
источник

ДР

Даниил Разоренов... in pro.jvm
Если чуть правильнее там будет вывод @Condional.... Только например для случая, когда у нас есть @EnableAutoConfiguration у нас ищутся все файлы META-INF/spring.factories и в них ищется свойство org.springframework.boot.autoconfigure.EnableAutoConfiguration. Ну и в spring boot там зашиты все автоконфигурации.

В тестах это работает чуть иначе и там нет @EnableAutoConfiguration. Там используются @ImportAutoConfiguration. Можете прочитать JavaDoc там более подробно описано как она работает. Но в нашем случае она работает, как подключение автоконфигураций, которые описаны в свойстве, которое называется точно также как аннотация над которой стоит @ImportAutoConfiguration.

Т.е. например есть @AutoConfigureDataMongo: мы можем увидеть что в jar-ке spring-boot-test-autoconfigure, есть файл META-INF/spring.factories и в нем есть свойство  org.springframework.boot.test.autoconfigure.data.mongo.AutoConfigureDataMongo, где перечислены все автоконфигурации которые будут подключены для данной аннотации. Т.е. тут будут подключаться не все автоконфигурации, а только те что есть в используемых аннотация.
источник

КВ

Кирилл Веревкин... in pro.jvm
Всем привет.
Вопрос больше из разряда best-practice.

Храним секреты приложения в vault. Есть два варианта (по крайней мере я вижу всего два) передачи их приложению: на этапе CI (читают из волта и пушат в Env приложения) и внутри приложения сделать инеграцию с волтом (spring vault). Какой предпочтительнее?

В целом вкусно выглядит передача env на этапе CI, но в таком случае локальным разработчикам получается нужно будет в env приложения для запуска пушить кучу настроек (особенно если кредов много) - это немного пугает.

Какой по вашему вариант предпочтительнее?
источник

ДК

Дима Красилов... in pro.jvm
Ну можно инвалидировать токены просто при смене роли
источник

ДК

Дима Красилов... in pro.jvm
Типа у пользователя ограничили права, а он до рефреша ещё N минут ходит и дико флексит - такое себе
источник

DC

Denis Chikanov in pro.jvm
источник

DC

Denis Chikanov in pro.jvm
люблю эту ссылку
источник

k

kuzznya in pro.jvm
Но тогда уже сервисы должны куда-то ходить, чтобы это проверить
Так что тут всегда компромисс
Либо он пару минут имеет возможность ходить, либо все сервисы (или gateway, например) должны ходить в базу и сверять с инвалидированными
источник

DC

Denis Chikanov in pro.jvm
см. тоже ссылку выше
источник

k

kuzznya in pro.jvm
Посмотрел, спасибо
Но у меня есть пару несогласий
Во-первых, так легко указано "лишить доступа к хранилищу", когда такое в принципе сложно представить в хорошо защищенной системе
Во-вторых, проверка рефреш токена делается реже, именно эти токены при недоступности хранилища можно считать невалидными
источник

DC

Denis Chikanov in pro.jvm
Да я так, набрасываю
источник

VN

Vladislav Navrocky in pro.jvm
Как вам такое https://i.imgur.com/JWCPEfs.png ? Это эквайринг Газпромбанка
источник

VN

Vladislav Navrocky in pro.jvm
"правильное" использование JSP. Когда пхпэшнику показали JSP...
источник

A

AlexJok in pro.jvm
есть какой-нибудь способ в spring boot/flux приложении выставить end point для healthcheck'a сеcсии без ее продления? Хочу с UI чекать сессию и если она истекла редиректить пользователя на страничку логина
источник

D

Dima in pro.jvm
/help
источник

SA

Sky Alex in pro.jvm
Всем хай.

Можно ли как то удалить поле в дочернем классе?
Или как-то заоверврайдить его аннотации?
источник

ДК

Дмитрий Карманов... in pro.jvm
А что значит удалить поле? Чтобы оно в сериализованном виде не появлялось? Или как или что
источник

SA

Sky Alex in pro.jvm
Что б jpa не пробовал его з базы селектить.
источник

SA

Sky Alex in pro.jvm
@MappedSuperclass
class A {
   @Id
   private Long id;
}

@Entity
class B extends A {

   @Id
   private Long key;
}

И нужно что б в модели B не было поля id.
источник

PK

Patchouli 💜 Knowledg... in pro.jvm
Господа, такой вопрос, был ли у кого опыт с NTLM аутентификацией? Создаю апачевский клиент, который вроде бы это умеет, однако все равно получаю от сервера 401 Unauthorized. Сам клиент: https://pastebin.com/SR4i9GpG
Может, я что-то упускаю?
источник