Skip to content

Commit d482b68

Browse files
committed
simplify solution
Signed-off-by: Kirill Mokevnin <[email protected]>
1 parent d4efc68 commit d482b68

File tree

3 files changed

+11
-17
lines changed

3 files changed

+11
-17
lines changed

src/main/java/io/hexlet/blog/config/SecurityConfig.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.springframework.security.crypto.password.PasswordEncoder;
1616
import org.springframework.security.oauth2.jwt.JwtDecoder;
1717
import org.springframework.security.web.SecurityFilterChain;
18-
import org.springframework.security.web.servlet.util.matcher.MvcRequestMatcher;
1918
import org.springframework.web.servlet.handler.HandlerMappingIntrospector;
2019

2120
import io.hexlet.blog.service.CustomUserDetailsService;
@@ -36,18 +35,15 @@ public class SecurityConfig {
3635
@Bean
3736
public SecurityFilterChain securityFilterChain(HttpSecurity http, HandlerMappingIntrospector introspector)
3837
throws Exception {
39-
// TODO: remove after merge
40-
// https://github.com/spring-projects/spring-security/issues/13568#issuecomment-1645059215
41-
var mvcMatcherBuilder = new MvcRequestMatcher.Builder(introspector);
4238
return http
4339
.csrf(csrf -> csrf.disable())
4440
.authorizeHttpRequests(auth -> auth
45-
.requestMatchers(mvcMatcherBuilder.pattern("/api/login")).permitAll()
46-
.requestMatchers(mvcMatcherBuilder.pattern("/api/pages/*")).permitAll()
47-
.requestMatchers(mvcMatcherBuilder.pattern("/api/pages")).permitAll()
48-
.requestMatchers(mvcMatcherBuilder.pattern("/")).permitAll()
49-
.requestMatchers(mvcMatcherBuilder.pattern("/index.html")).permitAll()
50-
.requestMatchers(mvcMatcherBuilder.pattern("/assets/**")).permitAll()
41+
.requestMatchers("/api/login").permitAll()
42+
.requestMatchers("/api/pages/*").permitAll()
43+
.requestMatchers("/api/pages").permitAll()
44+
.requestMatchers("/").permitAll()
45+
.requestMatchers("/index.html").permitAll()
46+
.requestMatchers("/assets/**").permitAll()
5147
.anyRequest().authenticated())
5248
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
5349
.oauth2ResourceServer((rs) -> rs.jwt((jwt) -> jwt.decoder(jwtDecoder)))

src/main/java/io/hexlet/blog/controller/api/UsersController.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import java.util.List;
44

5-
import io.hexlet.blog.dto.UserCreateDTO;
6-
import jakarta.validation.Valid;
75
import org.springframework.beans.factory.annotation.Autowired;
86
import org.springframework.http.HttpStatus;
97
import org.springframework.http.ResponseEntity;
@@ -16,12 +14,13 @@
1614
import org.springframework.web.bind.annotation.ResponseStatus;
1715
import org.springframework.web.bind.annotation.RestController;
1816

17+
import io.hexlet.blog.dto.UserCreateDTO;
1918
import io.hexlet.blog.dto.UserDTO;
2019
import io.hexlet.blog.dto.UserUpdateDTO;
2120
import io.hexlet.blog.exception.ResourceNotFoundException;
2221
import io.hexlet.blog.mapper.UserMapper;
23-
import io.hexlet.blog.model.User;
2422
import io.hexlet.blog.repository.UserRepository;
23+
import jakarta.validation.Valid;
2524

2625
@RestController
2726
@RequestMapping("/api")

src/main/java/io/hexlet/blog/mapper/UserMapper.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
package io.hexlet.blog.mapper;
22

3-
import io.hexlet.blog.dto.UserCreateDTO;
43
import org.mapstruct.BeforeMapping;
5-
import org.mapstruct.InheritInverseConfiguration;
64
import org.mapstruct.Mapper;
75
import org.mapstruct.Mapping;
86
import org.mapstruct.MappingConstants;
97
import org.mapstruct.MappingTarget;
108
import org.mapstruct.NullValuePropertyMappingStrategy;
119
import org.mapstruct.ReportingPolicy;
10+
import org.springframework.beans.factory.annotation.Autowired;
11+
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1212

13+
import io.hexlet.blog.dto.UserCreateDTO;
1314
import io.hexlet.blog.dto.UserDTO;
1415
import io.hexlet.blog.dto.UserUpdateDTO;
1516
import io.hexlet.blog.model.User;
16-
import org.springframework.beans.factory.annotation.Autowired;
17-
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1817

1918
@Mapper(
2019
uses = {JsonNullableMapper.class, ReferenceMapper.class},

0 commit comments

Comments
 (0)