Библиотека джависта | Java, Spring, Maven, Hibernate
24.2K subscribers
1.97K photos
38 videos
42 files
2.79K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Какое регулярное выражение соответствует строке, которая состоит только из латинских строчных букв (a–z) и имеет длину ровно 8 символов?
Anonymous Quiz
46%
[a-z]{8}
38%
^[a-z]{8}$
5%
[a-z]+{8}
5%
^a-z{8}$
5%
^[a-z]{1,8}$
👍83🔥1
😮 Топ-вакансий для джавистов за неделю

Senior + / Lead Java Developer — 4 500 - 6 500$ — удалёнка

Руководитель команды разработки (Java) — от 300 000 ₽ — офис (Омск)

Team Lead Full Stack разработчик (Java + React) — от 300 000 до 400 000 ₽ — удалёнка

Разработчик Java — от 180 000 до 250 000 ₽ — гибрид (Москва)

➡️ Еще больше топовых вакансий — в нашем канале Java jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1🤩1
🎮 Реализация аутентификации с использованием Spring Security

Проблема: обеспечение безопасности приложения требует надёжной системы аутентификации и авторизации пользователей.

Решение: в книге «Java 17 Backend Development» автор предлагает процесс настройки Spring Security для реализации аутентификации с использованием JWT-токенов.

Пример кода:
public class JwtAuthenticationFilter extends OncePerRequestFilter {
private final JwtTokenProvider tokenProvider;

public JwtAuthenticationFilter(JwtTokenProvider tokenProvider) {
this.tokenProvider = tokenProvider;
}

@Override
protected void doFilterInternal(HttpServletRequest request, FilterChain chain) throws ServletException, IOException {
String token = tokenProvider.resolveToken(request);
if (token != null && tokenProvider.validateToken(token)) {
String username = tokenProvider.getUsernameFromToken(token);
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(username, null, null);
authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
SecurityContextHolder.getContext().setAuthentication(authentication);
}
chain.doFilter(request, response);
}
}


Преимущества:


— Защита приложения от несанкционированного доступа.
— Возможность настройки различных уровней доступа.
— Лёгкая адаптация к изменениям в требованиях безопасности.

Еще больше полезных книг — в нашем канале @progbook

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2👏1