jvmchat | Unsorted

Telegram-канал jvmchat - pro.jvm

5858

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat Конфы: @jvmconf ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез

Subscribe to a channel

pro.jvm

ух ты, у нас анноатции уже разговаривают)

Читать полностью…

pro.jvm

Структура Jwt одинаковая

Читать полностью…

pro.jvm

Не, там зависит от того, какой способ аутентификации, контракт определяет что Authentication.getPrincipal() возвращает Object. В моём случае это либо Jwt либо OidcUser (в зависимости от того, как проходит аутентификация, с помощью AccessToken’а переданного с запросом или с помощью переадресации пользователя к AuthorizationServer)

Читать полностью…

pro.jvm

Вообще эта аннотация инжектит по сути имплементацию UserDetails, чтобы руками так не делать. У тебя она кастомная?

Читать полностью…

pro.jvm

И посмотри лог ошибки, у тебя фреймворк как раз пытается получить принципала

Читать полностью…

pro.jvm

Аннотация даст тебе доступ к токену

Читать полностью…

pro.jvm

Прикольно. А что тогда интересно вообще этот "реконннект" делает

Читать полностью…

pro.jvm

Такое бывает, если в твоем основном коде ошибка в синтаксисе

Читать полностью…

pro.jvm

А почему реконнект не проходит? У ноды редиса новый ИП после рестарта?

Читать полностью…

pro.jvm

Ага ток не нашел я больше подобной шняги
И есть мысля что возможно это кеш был для circuit breaker , а не брейкер для кеша

Читать полностью…

pro.jvm

Не самый плохой вариант

Читать полностью…

pro.jvm

Гугл что говорит? Может контекст рефрешить?

Читать полностью…

pro.jvm

Два случая когда кластерный редис ебанулся, ждать третьего не хочу

Читать полностью…

pro.jvm

насчет спрингового механизма не подскажу, а вот кластером редиса обзавестись стоит

Читать полностью…

pro.jvm

google.com github archivebox.

Читать полностью…

pro.jvm

https://docs.spring.io/spring-security/reference/api/java/org/springframework/security/core/Authentication.html#getPrincipal()

Читать полностью…

pro.jvm

Не обязательно, там довольно широкая вариативность, обращаться может ведь как пользователь, так и какое-то сторонние клиентское приложение и для них по разному проходит аутентификация

Читать полностью…

pro.jvm

Если ты юзаешь JWT, у тебя всегда одинаковая структура

Читать полностью…

pro.jvm

Аннотация просто говорит спрингу примерно следующее: «Эй, смотри, такого объекта у тебя в контексте нет, но нужно взять объект класса Authentication и вызвать на нет GetPrincipal и передать результат это в качестве аргумента». В моём же случае getPrincipal я вызываю сам внутри сервисного класса, но нужен мне не только Principal, а весь объект Authentication, потому что Principal может представлять собой совершенно разные классы и затратно каждый раз возиться с ним, лишний раз кастить и пытаться достать GrantedAuthority когда все и так уже есть в объекте Authentication

Читать полностью…

pro.jvm

Сейчас без аннотации ты получаешь нулевую ссылку и NPE

Читать полностью…

pro.jvm

Потому что мне нужно получить не Principal, а саму Authentication (Principal это часть Authentication, как и GrantedAuthority, например в случае JwtAuthenticationToken Principal это объект Jwt), а это означает что нужно просто извлечь Authentication из контекста и нет необходимости вызывать ещё и метод GetPrincipal

Читать полностью…

pro.jvm

Посмотрю, спасибо. Впрочем, в данном случае это не решит проблему, потому что нужный компонент есть в контексте безопасности, если достать его через SecurityContextHolder внутри контроллера. Он именно не передаётся в качестве аргумента при вызове метода контроллера с помощью MockMvc, а здесь все упирается в то, что я не совсем понимаю как MockMvc вызывает метод контроллера и как взаимодействует с контекстом приложения (по идее должен извлекать нужный компонент из контекста и передавать в качестве аргумента), но другой вопрос в том, что возможно MockMvc не взаимодействует с SecurityContext, а отвечает за это какой-то из фильтров или других компонентов SpringSecurity и без него просто некому достать нужный компонент. А вот детальной информации по механизмам внутренней работы SpringSecurity и MockMvc ни в документации ни в книгах особо нет. Контроллер делаю руками просто потому, что пока не разобрался в том, как правильно построить контекст для тестов

Читать полностью…

pro.jvm

Нет, я с этим поведением сталкивался с обычным редисом на тачке поднятом и небольшим приложением. Это кажись дефолтное поведение, что он не умеет переподключаться после обрыва такого

Читать полностью…

pro.jvm

если вопрос «можно ли сразу из http в памяти сделать архив?» то формально ответ «да», но на практике если файлов много то все равно потребуется промежуточное хранилище для того чтобы все файлы накопить (tmp или базейка)

можно кще посмотреть в http, обычно по нему летит уже зазипованное, может вам на лету ок это перехватывать. Но это хак

ну и традиционное:
какую задачу решаем? https://en.m.wikipedia.org/wiki/XY_problem

Читать полностью…

pro.jvm

здарова леди и гайс, у меня вопрос возник на днях
каким образом будет возможно написать создание архиватора на сайте через джаву? я знаю про java.util.zip, но есть ли возможность перенести это на сервак, чтобы человек просто загружал файлы, а они уже в архиве к нам переходили без того, чтобы сервак ресурсами ненужными забивался

Читать полностью…

pro.jvm

Я разраб, инфрой то хоть и занимаюсь, но все же выстроить HA кластер со всей инфрой - не могу, да и не мое дело. Мне бы гарантии от себя дать, чтоб 100500 сервисов не рестартовать при факапах девопсов. А инфру делают. Ну падение кафки - смерть, а вот редиска мне хорошо бы если б не мешала


Гугл ничего дельного не говорит, сколько не бился. Хотя в памяти есть статейка на медиуме где переписывали стандартный коннекш менеджер с использованием circuit breaker. Но это было давно и возможно я вообще выдумываю

Читать полностью…

pro.jvm

Я к тому что одно другому не мешает, инфрой тоже было бы хорошо заняться)

Читать полностью…

pro.jvm

Инфра слабовата, кластер есть, но хочу не зависеть от компонентов который для меня не критикал, а всего то оптимизация.

Читать полностью…

pro.jvm

Товарищи, беглый вопрос, как можно выстроить нормальный механизм перподключения сервиса на буте к редису, в случае рестарта редиски?
Сейчас ситуация такая что падение кеша полностью сказывается на работоспособности сервиса, а поднятие кеша ситуацию не улучшает, сервис так и остается в зацикленном состоянии попыток реконекта
Сработывает только рестарт самого сервиса, на просторах нашел вариант с переписыванием стандартного ErrorHandler для кеша, но результат такой же, может есть у кого под рукой линк на подобный механизм, проблема не уникальная, как я понял стандартные механизмы именно такую шнягу и делают по дефолту

Читать полностью…

pro.jvm

в общем, на одном настройка была включена, а на другом инстансе выключена)

Читать полностью…
Subscribe to a channel