#spring_security

2025-12-25

[Перевод] Тред-дампы и Project Loom (виртуальные потоки)

С появлением виртуальных потоков в Java благодаря Project Loom, параллельное программирование стало проще, а производительность — выше. Однако за этой простотой кроются новые вызовы для инструментов отладки и анализа. Как читать тред-дампы, если их теперь тысячи — или миллионы? Какие средства реально помогают найти взаимные блокировки и аномалии в асинхронном коде? Рассмотрим в новом переводе от команды Spring АйО .

habr.com/ru/companies/spring_a

#java #kotlin #ide #spring #spring_boot #spring_framework #springboot #spring_security #spring_data

2025-12-12

[Перевод] Как сократить расходы на токены и повысить точность LLM

Когда количество доступных LLM инструментов (tool-ов) разрастается, традиционные подходы к tool calling становятся непрактичными — утилизация токенов улетает ещё до начала общения. К тому же, модели становится сложнее выбрать нужный набор tool-ов для решения проблемы. В новом переводе от команды Spring АйО читаем о паттерне Tool Search Tool, предложенном Anthropic и реализованном в Spring AI с помощью ToolSearchToolCallAdvisor. Он позволяет LLM динамически находить нужные инструменты по мере необходимости, экономя до 64% токенов и повышая точность.

habr.com/ru/companies/spring_a

#llm #tool #java #kotlin #spring #spring_boot #spring_framework #springboot #spring_security #spring_data

2025-10-21

[Перевод] Совместимость в Java: что может пойти не так?

Совместимость — фундаментальная характеристика платформы Java, обеспечивающая стабильную работу программ при эволюции JDK. Однако понятие «совместимость» многогранно: исходный код, бинарные файлы и поведение программ оцениваются по разным стандартам. В новом переводе от команды Spring АйО разберем три ключевых категории совместимости: на уровне исходного кода , бинарную и поведенческую , а также рассмотрим нюансы сериализуемой и миграционной совместимости.

habr.com/ru/companies/spring_a

#java #kotlin #jvm #jdk #compatibility #spring #spring_boot #spring_framework #springboot #spring_security

2025-10-09

[Перевод] Защита MCP серверов со Spring AI

Протокол Model Context Protocol (MCP) стремительно развивается, и вопросы его безопасности становятся всё актуальнее. Чтобы упростить реализацию защиты MCP-серверов в проектах на Spring AI, был запущен инкубационный проект spring-ai-community/mcp-security. В новом переводе от команды Spring АйО рассмотрим, как защитить MCP-сервер с помощью OAuth2 или API-ключей, а также как развернуть собственный MCP-совместимый Spring Authorization Server.

habr.com/ru/companies/spring_a

#java #kotlin #spring #spring_security #mcp #mcpserver #mcp_server

2025-09-15

Spring Security для начинающих: конспект от аутентификации до JWT

На Хабре уже много статей про Spring Security — от кратких заметок до глубоких разборов. В этой статье я решил собрать всё в формате конспект-мануала, который можно читать как пошаговое введение: от базовой аутентификации и фильтров до JWT и OAuth2. Это материал, собранный по официальной документации и дополненный разъяснениями «на простом языке». Я не работал в больших enterprise-командах, поэтому буду рад комментариям и советам от более опытных коллег. Местами я использовал помощь ChatGPT: он помог структурировать материал и сделать стиль более читабельным, ближе к документации.

habr.com/ru/articles/946912/

#java #spring_security #springsecurity

2025-08-27

[Перевод] Spring Boot 4 и Spring Framework 7: Ключевые фичи и изменения

Уже в ноябре 2025 выходит Spring Boot 4 — масштабный релиз, построенный на фундаменте Spring Framework 7.0.0 и Jakarta EE 11. Это не просто очередное обновление, а важный этап в развитии всей Java-платформы: новые возможности для REST и безопасности, улучшенная работа с Kotlin и GraalVM, мощная поддержка облаков и нативных образов, а также инструменты для создания отказоустойчивых приложений. 🧠 Эта статья — больше, чем просто перевод: в ней собрано большое кол-во комментариев от экспертов Spring АйО .

habr.com/ru/companies/spring_a

#java #kotlin #spring #spring_boot #spring_framework #springboot #spring_data #spring_data_jpa #spring_rest #spring_security

2025-08-20

SSO на базе Spring Authorization Server. Можно ли в прод?

В современных приложениях централизованная аутентификация и авторизация играют ключевую роль в обеспечении безопасности и удобства пользователей. Именно с такой задачей мы столкнулись в компании NAUKA при создании "Платформы" — экосистемы, предназначенной для функционирования наших решений и разработки собственных прикладных приложений. В качестве основного компонента системы аутентификации и авторизации был выбран Spring Authorization Server. Настоящая статья - это небольшой практический обзор реализации SSO-сервера на основе технологии Spring Authorization Server с акцентом на решении типовых проблем, которые возникают при её использовании в реальной системе. Мы рассмотрим как технические детали, так и архитектурные решения, которые помогут создать надежный и масштабируемый сервер авторизации.

habr.com/ru/companies/nauka/ar

#аутентификация #авторизация #spring #spring_security #spring_framework #безопасность_вебприложений #сервер #java #идентификация

2025-08-08

[Перевод] Конфигурация Spring Security на пальцах

В новом переводе от команды Spring АйО мы рассмотрим решение для регистрации и аутентификации пользователя через клиентское JavaScript-приложение с использованием инфраструктуры Spring Security , а также access и refresh токенов. Существует множество базовых примеров работы со Spring Security, поэтому цель данной статьи — более подробно описать возможный процесс с помощью блок-схем.

habr.com/ru/companies/spring_a

#java #kotlin #spring #spring_security #security #springboot #spring_framework #spring_boot #spring_data

2025-08-04

Аннотация Lazy как спасение от циклических зависимостей

В прошлом посте команда Spring АйО подробно разобрала, как @Lazy помогает экономить ресурсы и ускорять старт приложения. Но забыли упомянуть ещё один крайне полезный кейс применения этой аннотации — борьбу с циклическими зависимостями.

habr.com/ru/companies/spring_a

#spring #spring_boot #spring_framework #springboot #spring_security #spring_data #spring_data_jpa #java #kotlin

2025-08-01

JEP 520: Метод-трейсинг и тайминг в JFR — замер времени конкретных методов без кода и агентов

Команда Spring АйО провела небольшое исследование JEP 520. В Java 25 JFR (Java Flight Recorder) позволит точно отслеживать выполнение конкретных методов — без изменения исходников, без логирования и без сторонних Java-агентов.

habr.com/ru/companies/spring_a

#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_security #spring_data #spring_data_jpa

2025-07-29

JEP 519: Компактные заголовки объектов — теперь официально

Команда Spring АйО представляет одну немаловажную фичу Java 25: компактные заголовки объектов (Compact Object Headers). Это позволит JVM экономить память и ускоряться без вмешательства в код.

habr.com/ru/companies/spring_a

#java #kotlin #performance #performance_optimization #spring #spring_boot #spring_framework #springboot #spring_security #spring_mvc

2025-07-29

[Перевод] Введение в Jimmer ORM

Совсем недавно статью про ORM-фреймворк Jimmer Михаила Поливахи , эксперта сообщества Spring АйО , опубликовал Baeldung. Перед вами переработанная и дополненная версия, подготовленная специально для сообщества Spring АйО. В ней Михаил раскрывает ключевые особенности Jimmer: отсутствие JPA-наследия, декларативные DTO и гибкий DSL и потенциальную интеграцию со Spring.

habr.com/ru/companies/spring_a

#java #kotlin #jimmer #hibernate #spring #spring_boot #spring_framework #springboot #spring_security #spring_data

2025-07-28

Красиво инжектим JwtAuthenticationToken в Spring Boot юнит тесты

Как часто вам приходится тестировать аутентификацию в ваших юнит тестах Spring Boot приложений? Мне довольно часто. И сейчас расскажу о своем кейсе, где я сделал эту работу удобней.

habr.com/ru/articles/931476/

#spring_framework #spring_boot #spring_security #oauth2 #junit

2025-07-21

Spring Security

Spring Security – это мощный и важный фреймворк в Spring для обеспечения безопасности приложения при помощи аутентификации и авторизации. Основан на цепочке фильтров. Например, в Spring Security 6.5.1. по умолчанию стандартная цепочка фильтров (FilterChainProxy) содержит до 12-16 фильтров, выполняющих различные механизмы проверки. Стоит отметить, что точное количество фильтров зависит от конфигурации.

habr.com/ru/articles/927788/

#spring_security #java

2025-06-08

Создание form login с помощью Spring Security 6

В Интернете легко можно найти различные руководства по организации авторизации пользователей посредством формы при помощи Spring Security. Однако, в шестой версии разработчики переработали фреймворк, и старые подходы больше не работают. В результате, чтобы добиться работающего результата, мне пришлось потратить изрядное количество времени на изучение вопроса. Чтобы сократить для вас, уважаемые читатели, этот путь, я и решил написать данную статью. Если вы торопитесь - переходите сразу к разделу, посвященному цепочке фильтров безопасности. Посмотреть проект целиком можно на гитхабе по ссылке .

habr.com/ru/articles/916672/

#java #spring_security #thymeleaf

2025-06-03

[Перевод] Архитектурные принципы Spring Security. Часть третья

Команда Spring АйО перевела и адаптировала доклад Даниэля Гарнье-Муару “Spring Security Architecture Principles”, в котором на наглядных примерах рассказывается, как пользоваться возможностями Spring Security, не запутываясь на каждом шагу и не зарабатывая себе головную боль. Доклад публикуется тремя частями. В первой части было рассказано об основных подходах к созданию цепочек фильтров, а также разработан простейший фильтр. Во второй части мы рассказали об Authentication объектах и продемонстрировали, как разработать специализированный фильтр для обеспечения доступа программы-робота к основному приложению. В третьей части мы поговорим об абстракции AuthenticationProvider и приведем пример ее использования.

habr.com/ru/companies/spring_a

#spring_security #authentication_provider #spring #authentication_manager #security #java #kotlin #springboot #spring_boot #spring_framework

2025-05-30

[Перевод] Архитектурные принципы Spring Security. Часть вторая

Команда Spring АйО перевела и адаптировала доклад Даниэля Гарнье-Муару “Spring Security Architecture Principles”, в котором на наглядных примерах рассказывается, как пользоваться возможностями Spring Security, не запутываясь на каждом шагу и не зарабатывая себе головную боль. Доклад публикуется тремя частями. В первой части было рассказано об основных подходах к созданию цепочек фильтров, а также разработан простейший фильтр. Во второй части мы расскажем об Authentication объектах и продемонстрируем, как разработать специализированный фильтр для обеспечения доступа программы-робота к основному приложению.

habr.com/ru/companies/spring_a

#spring_security #spring #authentication_object #filter #credentials #login

2025-05-15

[Перевод] Архитектурные принципы Spring Security. Часть первая

Команда Spring АйО перевела и адаптировала доклад Даниэля Гарнье-Муару “Spring Security Architecture Principles”, в котором на наглядных примерах рассказывается, как пользоваться возможностями Spring Security, не запутываясь на каждом шагу и не зарабатывая себе головную боль. Доклад будет опубликован тремя частями. В первой части будет рассказано об основных подходах к созданию цепочек фильтров, а также разработан простейший фильтр с красивым названием “Es prohibido” (“Это запрещено” в переводе с испанского).

habr.com/ru/companies/spring_a

#spring_security #java #kotlin #filterchain #filter #csrf #authorization #authentication

2025-05-14

[Перевод] Первые шаги в Spring Security с JWT

Команда Spring АйО перевела статью о работе с JWT в Spring Security с примерами и объяснениями. Прочитав данную статью, вы узнаете, как сделать первые шаги в создании приложения, в котором за безопасность отвечают токены JWT и фреймворк Spring Security, работающие в гармоничном тандеме.

habr.com/ru/companies/spring_a

#Java #Kotlin #Spring_Security #JWT #token #claim

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst