jvmchat | Unsorted

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

5916

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

Subscribe to a channel

pro.jvm

чего "остроумно" и где "там" ? и какая еще инфа нужна ?

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

pro.jvm

чувак, у тебя твой говнокод с нпе, не у меня

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

pro.jvm

Много нового узнаёте

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

pro.jvm

Очевидная ошибка с npe, плохо доку читал

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

pro.jvm

sub, issuer и прочее

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

pro.jvm

Спринговые менеджеры возвращают UserDetails

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

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

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

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

pro.jvm

сто лет как пилим свою секьюрити и лишь иногда чуть-чуть поверх спрингового

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

pro.jvm

Но советую получше изучить то, как реализован Open Id connect и OAuth2 в Spring

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

pro.jvm

Не понимаю, нахуя приходить в чат, спорить, ну решай сам

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

pro.jvm

Authentication flow разный

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

pro.jvm

Спасибо, я читал документацию

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

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

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