Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 22266c5

Browse files
committed
update to Spring Boot 3
1 parent de16646 commit 22266c5

File tree

12 files changed

+87
-46
lines changed

12 files changed

+87
-46
lines changed

‎README.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ For more detail, please visit:
2121
> [Spring Boot Login and Registration example with MongoDB](https://www.bezkoder.com/spring-boot-mongodb-login-example/)
2222
2323
Working with Front-end:
24-
> [Angular 12](https://www.bezkoder.com/angular-12-jwt-auth-httponly-cookie/) / [Angular 13](https://www.bezkoder.com/angular-13-jwt-auth-httponly-cookie/) / [Angular 14](https://www.bezkoder.com/angular-14-jwt-auth/)
24+
> [Angular 12](https://www.bezkoder.com/angular-12-jwt-auth-httponly-cookie/) / [Angular 13](https://www.bezkoder.com/angular-13-jwt-auth-httponly-cookie/) / [Angular 14](https://www.bezkoder.com/angular-14-jwt-auth/) / [Angular 15](https://www.bezkoder.com/angular-15-jwt-auth/) / [Angular 16](https://www.bezkoder.com/angular-16-jwt-auth/)
2525
26-
> [React](https://www.bezkoder.com/react-login-example-jwt-hooks/)
26+
> [React](https://www.bezkoder.com/react-login-example-jwt-hooks/) / [React Redux](https://www.bezkoder.com/redux-toolkit-auth/)
2727
2828
More Practice:
2929
> [Spring Boot with MongoDB CRUD example using Spring Data](https://www.bezkoder.com/spring-boot-mongodb-crud/)
@@ -32,6 +32,16 @@ More Practice:
3232
3333
> [Spring Boot + GraphQL + MongoDB example](https://www.bezkoder.com/spring-boot-graphql-mongodb-example-graphql-java/)
3434
35+
> [Spring Boot Repository Unit Test with @DataJpaTest](https://bezkoder.com/spring-boot-unit-test-jpa-repo-datajpatest/)
36+
37+
> [Spring Boot Rest Controller Unit Test with @WebMvcTest](https://www.bezkoder.com/spring-boot-webmvctest/)
38+
39+
> Validation: [Spring Boot Validate Request Body](https://www.bezkoder.com/spring-boot-validate-request-body/)
40+
41+
> Documentation: [Spring Boot and Swagger 3 example](https://www.bezkoder.com/spring-boot-swagger-3/)
42+
43+
> Caching: [Spring Boot Redis Cache example](https://www.bezkoder.com/spring-boot-redis-cache-example/)
44+
3545
Fullstack:
3646
> [Vue.js + Spring Boot + MongoDB example](https://www.bezkoder.com/spring-boot-vue-mongodb/)
3747
@@ -47,6 +57,10 @@ Fullstack:
4757
4858
> [Angular 14 + Spring Boot + MongoDB example](https://www.bezkoder.com/spring-boot-angular-14-mongodb/)
4959
60+
> [Angular 15 + Spring Boot + MongoDB example](https://www.bezkoder.com/spring-boot-angular-15-mongodb/)
61+
62+
> [Angular 16 + Spring Boot + MongoDB example](https://www.bezkoder.com/spring-boot-angular-16-mongodb/)
63+
5064
> [React + Spring Boot + MongoDB example](https://www.bezkoder.com/react-spring-boot-mongodb/)
5165
5266
Run both Back-end & Front-end in one place:

‎pom.xml

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
8-
<version>2.7.3</version>
8+
<version>3.1.0</version>
99
<relativePath/> <!-- lookup parent from repository -->
1010
</parent>
1111
<groupId>com.bezkoder</groupId>
@@ -14,7 +14,7 @@
1414
<name>spring-boot-mongodb-login</name>
1515
<description>Spring Boot and MongoDB: Login example with Spring Security, JWT - Rest API</description>
1616
<properties>
17-
<java.version>1.8</java.version>
17+
<java.version>17</java.version>
1818
</properties>
1919
<dependencies>
2020
<dependency>
@@ -37,10 +37,24 @@
3737
<artifactId>spring-boot-starter-web</artifactId>
3838
</dependency>
3939

40-
<dependency>
40+
<dependency>
41+
<groupId>io.jsonwebtoken</groupId>
42+
<artifactId>jjwt-api</artifactId>
43+
<version>0.11.5</version>
44+
</dependency>
45+
46+
<dependency>
47+
<groupId>io.jsonwebtoken</groupId>
48+
<artifactId>jjwt-impl</artifactId>
49+
<version>0.11.5</version>
50+
<scope>runtime</scope>
51+
</dependency>
52+
53+
<dependency>
4154
<groupId>io.jsonwebtoken</groupId>
42-
<artifactId>jjwt</artifactId>
43-
<version>0.9.1</version>
55+
<artifactId>jjwt-jackson</artifactId>
56+
<version>0.11.5</version>
57+
<scope>runtime</scope>
4458
</dependency>
4559

4660
<dependency>

‎src/main/java/com/bezkoder/spring/security/mongodb/controllers/AuthController.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import java.util.Set;
66
import java.util.stream.Collectors;
77

8-
import javax.validation.Valid;
8+
import jakarta.validation.Valid;
99

1010
import org.springframework.beans.factory.annotation.Autowired;
1111
import org.springframework.http.HttpHeaders;
@@ -34,6 +34,8 @@
3434
import com.bezkoder.spring.security.mongodb.security.jwt.JwtUtils;
3535
import com.bezkoder.spring.security.mongodb.security.services.UserDetailsImpl;
3636

37+
//for Angular Client (withCredentials)
38+
//@CrossOrigin(origins = "http://localhost:8081", maxAge = 3600, allowCredentials="true")
3739
@CrossOrigin(origins = "*", maxAge = 3600)
3840
@RestController
3941
@RequestMapping("/api/auth")

‎src/main/java/com/bezkoder/spring/security/mongodb/controllers/TestController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import org.springframework.web.bind.annotation.RequestMapping;
77
import org.springframework.web.bind.annotation.RestController;
88

9+
//for Angular Client (withCredentials)
10+
//@CrossOrigin(origins = "http://localhost:8081", maxAge = 3600, allowCredentials="true")
911
@CrossOrigin(origins = "*", maxAge = 3600)
1012
@RestController
1113
@RequestMapping("/api/test")

‎src/main/java/com/bezkoder/spring/security/mongodb/models/User.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import java.util.HashSet;
44
import java.util.Set;
55

6-
import javax.validation.constraints.Email;
7-
import javax.validation.constraints.NotBlank;
8-
import javax.validation.constraints.Size;
6+
import jakarta.validation.constraints.Email;
7+
import jakarta.validation.constraints.NotBlank;
8+
import jakarta.validation.constraints.Size;
99

1010
import org.springframework.data.annotation.Id;
1111
import org.springframework.data.mongodb.core.mapping.DBRef;

‎src/main/java/com/bezkoder/spring/security/mongodb/payload/request/LoginRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.bezkoder.spring.security.mongodb.payload.request;
22

3-
import javax.validation.constraints.NotBlank;
3+
import jakarta.validation.constraints.NotBlank;
44

55
public class LoginRequest {
66
@NotBlank

‎src/main/java/com/bezkoder/spring/security/mongodb/payload/request/SignupRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import java.util.Set;
44

5-
import javax.validation.constraints.*;
5+
import jakarta.validation.constraints.*;
66

77
public class SignupRequest {
88
@NotBlank

‎src/main/java/com/bezkoder/spring/security/mongodb/security/WebSecurityConfig.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
88
//import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
99
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
10-
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
10+
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
1111
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
1212
//import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
1313
//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@@ -23,10 +23,10 @@
2323

2424
@Configuration
2525
//@EnableWebSecurity
26-
@EnableGlobalMethodSecurity(
27-
// securedEnabled = true,
28-
// jsr250Enabled = true,
29-
prePostEnabled = true)
26+
@EnableMethodSecurity
27+
//(securedEnabled = true,
28+
//jsr250Enabled = true,
29+
//prePostEnabled = true) // by default
3030
public class WebSecurityConfig { // extends WebSecurityConfigurerAdapter {
3131
@Autowired
3232
UserDetailsServiceImpl userDetailsService;
@@ -43,7 +43,7 @@ public AuthTokenFilter authenticationJwtTokenFilter() {
4343
// public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
4444
// authenticationManagerBuilder.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
4545
// }
46-
46+
4747
@Bean
4848
public DaoAuthenticationProvider authenticationProvider() {
4949
DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
@@ -53,7 +53,7 @@ public DaoAuthenticationProvider authenticationProvider() {
5353

5454
return authProvider;
5555
}
56-
56+
5757
// @Bean
5858
// @Override
5959
// public AuthenticationManager authenticationManagerBean() throws Exception {
@@ -84,12 +84,14 @@ public PasswordEncoder passwordEncoder() {
8484

8585
@Bean
8686
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
87-
http.cors().and().csrf().disable()
88-
.exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
89-
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
90-
.authorizeRequests().antMatchers("/api/auth/**").permitAll()
91-
.antMatchers("/api/test/**").permitAll()
92-
.anyRequest().authenticated();
87+
http.csrf(csrf -> csrf.disable())
88+
.exceptionHandling(exception -> exception.authenticationEntryPoint(unauthorizedHandler))
89+
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
90+
.authorizeHttpRequests(auth ->
91+
auth.requestMatchers("/api/auth/**").permitAll()
92+
.requestMatchers("/api/test/**").permitAll()
93+
.anyRequest().authenticated()
94+
);
9395

9496
http.authenticationProvider(authenticationProvider());
9597

‎src/main/java/com/bezkoder/spring/security/mongodb/security/jwt/AuthEntryPointJwt.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
import java.util.HashMap;
55
import java.util.Map;
66

7-
import javax.servlet.ServletException;
8-
import javax.servlet.http.HttpServletRequest;
9-
import javax.servlet.http.HttpServletResponse;
7+
import jakarta.servlet.ServletException;
8+
import jakarta.servlet.http.HttpServletRequest;
9+
import jakarta.servlet.http.HttpServletResponse;
1010

1111
import org.slf4j.Logger;
1212
import org.slf4j.LoggerFactory;

‎src/main/java/com/bezkoder/spring/security/mongodb/security/jwt/AuthTokenFilter.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import java.io.IOException;
44

5-
import javax.servlet.FilterChain;
6-
import javax.servlet.ServletException;
7-
import javax.servlet.http.HttpServletRequest;
8-
import javax.servlet.http.HttpServletResponse;
5+
import jakarta.servlet.FilterChain;
6+
import jakarta.servlet.ServletException;
7+
import jakarta.servlet.http.HttpServletRequest;
8+
import jakarta.servlet.http.HttpServletResponse;
99

1010
import org.slf4j.Logger;
1111
import org.slf4j.LoggerFactory;

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /