StudentLoanManagement
SecurityConfigTest.java
Go to the documentation of this file.
1package com.student_loan.config;
2
3import com.student_loan.security.JwtFilter;
4import com.student_loan.security.JwtUtil;
5import org.springframework.beans.factory.annotation.Autowired;
6import org.springframework.context.annotation.Bean;
7import org.springframework.context.annotation.Configuration;
8import org.springframework.context.annotation.Profile;
9import org.springframework.security.config.annotation.web.builders.HttpSecurity;
10import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
11import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
12import org.springframework.security.web.SecurityFilterChain;
13import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
14
15@Configuration
16@EnableWebSecurity
17@Profile("test")
18public class SecurityConfigTest {
19
20 @Bean
21 public BCryptPasswordEncoder bCryptPasswordEncoder() {
22 return new BCryptPasswordEncoder();
23 }
24
25 @Bean
26 public JwtUtil jwtUtil() {
27 return new JwtUtil();
28 }
29
30 @Bean
31 public JwtFilter jwtFilter(JwtUtil jwtUtil) {
32 return new JwtFilter(jwtUtil);
33 }
34
35 @Bean
36 public SecurityFilterChain securityFilterChain(HttpSecurity http,
37 @Autowired JwtFilter jwtFilter) throws Exception {
38 http.csrf().disable()
39 .addFilterBefore(jwtFilter, UsernamePasswordAuthenticationFilter.class)
40 .authorizeHttpRequests(auth -> auth
41 .requestMatchers(
42 "/users/**",
43 "/items/**",
44 "/loans/**"
45 ).permitAll()
46 .anyRequest().authenticated()
47 );
48 return http.build();
49 }
50}
SecurityFilterChain securityFilterChain(HttpSecurity http, @Autowired JwtFilter jwtFilter)