Skip to content

Commit 623e59e

Browse files
committed
#5 | Hendi Santika | Upgraded into Spring Boot 3.0.5 version ✏️📗:octocat:⬆
1 parent edaf308 commit 623e59e

File tree

10 files changed

+61
-77
lines changed

10 files changed

+61
-77
lines changed

Diff for: pom.xml

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>org.springframework.boot</groupId>
88
<artifactId>spring-boot-starter-parent</artifactId>
9-
<version>2.7.3</version>
9+
<version>3.0.5</version>
1010
<relativePath /> <!-- lookup parent from repository -->
1111
</parent>
1212
<groupId>com.bezkoder</groupId>
@@ -16,7 +16,7 @@
1616
<description>Demo project for Spring Boot Security - JWT</description>
1717

1818
<properties>
19-
<java.version>1.8</java.version>
19+
<java.version>17</java.version>
2020
</properties>
2121

2222
<dependencies>
@@ -41,8 +41,8 @@
4141
</dependency>
4242

4343
<dependency>
44-
<groupId>mysql</groupId>
45-
<artifactId>mysql-connector-java</artifactId>
44+
<groupId>com.mysql</groupId>
45+
<artifactId>mysql-connector-j</artifactId>
4646
<scope>runtime</scope>
4747
</dependency>
4848

Diff for: src/main/java/com/bezkoder/springjwt/controllers/AuthController.java

+14-20
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,5 @@
11
package com.bezkoder.springjwt.controllers;
22

3-
import java.util.HashSet;
4-
import java.util.List;
5-
import java.util.Set;
6-
import java.util.stream.Collectors;
7-
8-
import javax.validation.Valid;
9-
10-
import org.springframework.beans.factory.annotation.Autowired;
11-
import org.springframework.http.ResponseEntity;
12-
import org.springframework.security.authentication.AuthenticationManager;
13-
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
14-
import org.springframework.security.core.Authentication;
15-
import org.springframework.security.core.context.SecurityContextHolder;
16-
import org.springframework.security.crypto.password.PasswordEncoder;
17-
import org.springframework.web.bind.annotation.CrossOrigin;
18-
import org.springframework.web.bind.annotation.PostMapping;
19-
import org.springframework.web.bind.annotation.RequestBody;
20-
import org.springframework.web.bind.annotation.RequestMapping;
21-
import org.springframework.web.bind.annotation.RestController;
22-
233
import com.bezkoder.springjwt.models.ERole;
244
import com.bezkoder.springjwt.models.Role;
255
import com.bezkoder.springjwt.models.User;
@@ -31,6 +11,20 @@
3111
import com.bezkoder.springjwt.repository.UserRepository;
3212
import com.bezkoder.springjwt.security.jwt.JwtUtils;
3313
import com.bezkoder.springjwt.security.services.UserDetailsImpl;
14+
import jakarta.validation.Valid;
15+
import org.springframework.beans.factory.annotation.Autowired;
16+
import org.springframework.http.ResponseEntity;
17+
import org.springframework.security.authentication.AuthenticationManager;
18+
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
19+
import org.springframework.security.core.Authentication;
20+
import org.springframework.security.core.context.SecurityContextHolder;
21+
import org.springframework.security.crypto.password.PasswordEncoder;
22+
import org.springframework.web.bind.annotation.*;
23+
24+
import java.util.HashSet;
25+
import java.util.List;
26+
import java.util.Set;
27+
import java.util.stream.Collectors;
3428

3529
@CrossOrigin(origins = "*", maxAge = 3600)
3630
@RestController

Diff for: src/main/java/com/bezkoder/springjwt/models/Role.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.bezkoder.springjwt.models;
22

3-
import javax.persistence.*;
3+
import jakarta.persistence.*;
44

55
@Entity
66
@Table(name = "roles")
@@ -36,4 +36,4 @@ public ERole getName() {
3636
public void setName(ERole name) {
3737
this.name = name;
3838
}
39-
}
39+
}

Diff for: src/main/java/com/bezkoder/springjwt/models/User.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package com.bezkoder.springjwt.models;
22

3+
import jakarta.persistence.*;
4+
import jakarta.validation.constraints.Email;
5+
import jakarta.validation.constraints.NotBlank;
6+
import jakarta.validation.constraints.Size;
7+
38
import java.util.HashSet;
49
import java.util.Set;
510

6-
import javax.persistence.*;
7-
import javax.validation.constraints.Email;
8-
import javax.validation.constraints.NotBlank;
9-
import javax.validation.constraints.Size;
10-
1111
@Entity
1212
@Table(name = "users",
1313
uniqueConstraints = {

Diff for: src/main/java/com/bezkoder/springjwt/payload/request/LoginRequest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.bezkoder.springjwt.payload.request;
22

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

55
public class LoginRequest {
66
@NotBlank

Diff for: src/main/java/com/bezkoder/springjwt/payload/request/SignupRequest.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package com.bezkoder.springjwt.payload.request;
22

3-
import java.util.Set;
3+
import jakarta.validation.constraints.Email;
4+
import jakarta.validation.constraints.NotBlank;
5+
import jakarta.validation.constraints.Size;
46

5-
import javax.validation.constraints.*;
7+
import java.util.Set;
68

79
public class SignupRequest {
810
@NotBlank

Diff for: src/main/java/com/bezkoder/springjwt/security/WebSecurityConfig.java

+10-16
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,24 @@
11
package com.bezkoder.springjwt.security;
22

3+
import com.bezkoder.springjwt.security.jwt.AuthEntryPointJwt;
4+
import com.bezkoder.springjwt.security.jwt.AuthTokenFilter;
5+
import com.bezkoder.springjwt.security.services.UserDetailsServiceImpl;
36
import org.springframework.beans.factory.annotation.Autowired;
47
import org.springframework.context.annotation.Bean;
58
import org.springframework.context.annotation.Configuration;
69
import org.springframework.security.authentication.AuthenticationManager;
710
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
8-
//import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
911
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
10-
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
12+
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
1113
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
12-
//import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
13-
//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
1414
import org.springframework.security.config.http.SessionCreationPolicy;
1515
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1616
import org.springframework.security.crypto.password.PasswordEncoder;
1717
import org.springframework.security.web.SecurityFilterChain;
1818
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
1919

20-
import com.bezkoder.springjwt.security.jwt.AuthEntryPointJwt;
21-
import com.bezkoder.springjwt.security.jwt.AuthTokenFilter;
22-
import com.bezkoder.springjwt.security.services.UserDetailsServiceImpl;
23-
2420
@Configuration
25-
@EnableGlobalMethodSecurity(
26-
// securedEnabled = true,
27-
// jsr250Enabled = true,
28-
prePostEnabled = true)
21+
@EnableMethodSecurity
2922
public class WebSecurityConfig { // extends WebSecurityConfigurerAdapter {
3023
@Autowired
3124
UserDetailsServiceImpl userDetailsService;
@@ -84,10 +77,11 @@ public PasswordEncoder passwordEncoder() {
8477
@Bean
8578
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
8679
http.cors().and().csrf().disable()
87-
.exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
88-
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
89-
.authorizeRequests().antMatchers("/api/auth/**").permitAll()
90-
.antMatchers("/api/test/**").permitAll()
80+
.exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
81+
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
82+
.authorizeHttpRequests()
83+
.requestMatchers("/api/auth/**").permitAll()
84+
.requestMatchers("/api/test/**").permitAll()
9185
.anyRequest().authenticated();
9286

9387
http.authenticationProvider(authenticationProvider());

Diff for: src/main/java/com/bezkoder/springjwt/security/jwt/AuthEntryPointJwt.java

+7-9
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
package com.bezkoder.springjwt.security.jwt;
22

3-
import java.io.IOException;
4-
import java.util.HashMap;
5-
import java.util.Map;
6-
7-
import javax.servlet.ServletException;
8-
import javax.servlet.http.HttpServletRequest;
9-
import javax.servlet.http.HttpServletResponse;
10-
3+
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import jakarta.servlet.ServletException;
5+
import jakarta.servlet.http.HttpServletRequest;
6+
import jakarta.servlet.http.HttpServletResponse;
117
import org.slf4j.Logger;
128
import org.slf4j.LoggerFactory;
139
import org.springframework.http.MediaType;
1410
import org.springframework.security.core.AuthenticationException;
1511
import org.springframework.security.web.AuthenticationEntryPoint;
1612
import org.springframework.stereotype.Component;
1713

18-
import com.fasterxml.jackson.databind.ObjectMapper;
14+
import java.io.IOException;
15+
import java.util.HashMap;
16+
import java.util.Map;
1917

2018
@Component
2119
public class AuthEntryPointJwt implements AuthenticationEntryPoint {

Diff for: src/main/java/com/bezkoder/springjwt/security/jwt/AuthTokenFilter.java

+7-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package com.bezkoder.springjwt.security.jwt;
22

3-
import java.io.IOException;
4-
5-
import javax.servlet.FilterChain;
6-
import javax.servlet.ServletException;
7-
import javax.servlet.http.HttpServletRequest;
8-
import javax.servlet.http.HttpServletResponse;
9-
3+
import com.bezkoder.springjwt.security.services.UserDetailsServiceImpl;
4+
import jakarta.servlet.FilterChain;
5+
import jakarta.servlet.ServletException;
6+
import jakarta.servlet.http.HttpServletRequest;
7+
import jakarta.servlet.http.HttpServletResponse;
108
import org.slf4j.Logger;
119
import org.slf4j.LoggerFactory;
1210
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +15,7 @@
1715
import org.springframework.util.StringUtils;
1816
import org.springframework.web.filter.OncePerRequestFilter;
1917

20-
import com.bezkoder.springjwt.security.services.UserDetailsServiceImpl;
18+
import java.io.IOException;
2119

2220
public class AuthTokenFilter extends OncePerRequestFilter {
2321
@Autowired
@@ -57,7 +55,7 @@ private String parseJwt(HttpServletRequest request) {
5755
String headerAuth = request.getHeader("Authorization");
5856

5957
if (StringUtils.hasText(headerAuth) && headerAuth.startsWith("Bearer ")) {
60-
return headerAuth.substring(7, headerAuth.length());
58+
return headerAuth.substring(7);
6159
}
6260

6361
return null;

Diff for: src/main/resources/application.properties

+7-9
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
spring.datasource.url= jdbc:mysql://localhost:3306/testdb?useSSL=false
2-
spring.datasource.username= root
3-
spring.datasource.password= 123456
4-
5-
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQL5InnoDBDialect
6-
spring.jpa.hibernate.ddl-auto= update
7-
1+
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?createDatabaseIfNotExist=true&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Jakarta&useSSL=false&allowPublicKeyRetrieval=true
2+
spring.datasource.username=root
3+
spring.datasource.password=root
4+
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
5+
spring.jpa.hibernate.ddl-auto=update
86
# App Properties
9-
bezkoder.app.jwtSecret= bezKoderSecretKey
10-
bezkoder.app.jwtExpirationMs= 86400000
7+
bezkoder.app.jwtSecret=bezKoderSecretKey
8+
bezkoder.app.jwtExpirationMs=86400000

0 commit comments

Comments
 (0)