初始化提交中文测试环境
This commit is contained in:
parent
edaf3082e0
commit
1d09caaae7
130
pom.xml
130
pom.xml
@ -1,77 +1,79 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
<version>2.7.3</version>
|
<version>2.7.3</version>
|
||||||
<relativePath /> <!-- lookup parent from repository -->
|
<relativePath/> <!-- lookup parent from repository -->
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>com.bezkoder</groupId>
|
<groupId>com.bezkoder</groupId>
|
||||||
<artifactId>spring-boot-security-jwt</artifactId>
|
<artifactId>spring-boot-security-jwt</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
<name>spring-boot-security-jwt</name>
|
<name>spring-boot-security-jwt</name>
|
||||||
<description>Demo project for Spring Boot Security - JWT</description>
|
<description>Demo project for Spring Boot Security - JWT</description>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>1.8</java.version>
|
<java.version>1.8</java.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-security</artifactId>
|
<artifactId>spring-boot-starter-security</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-validation</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
<artifactId>spring-boot-starter-validation</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>mysql</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>mysql-connector-java</artifactId>
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
<scope>runtime</scope>
|
</dependency>
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<!-- DATABASE AND HIBERNATE -->
|
||||||
<groupId>io.jsonwebtoken</groupId>
|
<dependency>
|
||||||
<artifactId>jjwt</artifactId>
|
<groupId>com.h2database</groupId>
|
||||||
<version>0.9.1</version>
|
<artifactId>h2</artifactId>
|
||||||
</dependency>
|
<scope>runtime</scope>
|
||||||
|
<version>2.1.214</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>io.jsonwebtoken</groupId>
|
||||||
<artifactId>spring-boot-starter-test</artifactId>
|
<artifactId>jjwt</artifactId>
|
||||||
<scope>test</scope>
|
<version>0.9.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.security</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-security-test</artifactId>
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
<dependency>
|
||||||
<plugins>
|
<groupId>org.springframework.security</groupId>
|
||||||
<plugin>
|
<artifactId>spring-security-test</artifactId>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<scope>test</scope>
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
</dependency>
|
||||||
</plugin>
|
</dependencies>
|
||||||
</plugins>
|
|
||||||
</build>
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt;
|
package com.ossez.spring.security;
|
||||||
|
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.controllers;
|
package com.ossez.spring.security.controllers;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -7,6 +7,14 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
import com.ossez.spring.security.models.ERole;
|
||||||
|
import com.ossez.spring.security.models.Role;
|
||||||
|
import com.ossez.spring.security.payload.request.LoginRequest;
|
||||||
|
import com.ossez.spring.security.payload.request.SignupRequest;
|
||||||
|
import com.ossez.spring.security.payload.response.JwtResponse;
|
||||||
|
import com.ossez.spring.security.payload.response.MessageResponse;
|
||||||
|
import com.ossez.spring.security.security.jwt.JwtUtils;
|
||||||
|
import com.ossez.spring.security.security.services.UserDetailsImpl;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.authentication.AuthenticationManager;
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
@ -20,21 +28,13 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import com.bezkoder.springjwt.models.ERole;
|
import com.ossez.spring.security.models.User;
|
||||||
import com.bezkoder.springjwt.models.Role;
|
import com.ossez.spring.security.repository.RoleRepository;
|
||||||
import com.bezkoder.springjwt.models.User;
|
import com.ossez.spring.security.repository.UserRepository;
|
||||||
import com.bezkoder.springjwt.payload.request.LoginRequest;
|
|
||||||
import com.bezkoder.springjwt.payload.request.SignupRequest;
|
|
||||||
import com.bezkoder.springjwt.payload.response.JwtResponse;
|
|
||||||
import com.bezkoder.springjwt.payload.response.MessageResponse;
|
|
||||||
import com.bezkoder.springjwt.repository.RoleRepository;
|
|
||||||
import com.bezkoder.springjwt.repository.UserRepository;
|
|
||||||
import com.bezkoder.springjwt.security.jwt.JwtUtils;
|
|
||||||
import com.bezkoder.springjwt.security.services.UserDetailsImpl;
|
|
||||||
|
|
||||||
@CrossOrigin(origins = "*", maxAge = 3600)
|
@CrossOrigin(origins = "*", maxAge = 3600)
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/auth")
|
@RequestMapping("/custom")
|
||||||
public class AuthController {
|
public class AuthController {
|
||||||
@Autowired
|
@Autowired
|
||||||
AuthenticationManager authenticationManager;
|
AuthenticationManager authenticationManager;
|
||||||
@ -60,19 +60,19 @@ public class AuthController {
|
|||||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||||
String jwt = jwtUtils.generateJwtToken(authentication);
|
String jwt = jwtUtils.generateJwtToken(authentication);
|
||||||
|
|
||||||
UserDetailsImpl userDetails = (UserDetailsImpl) authentication.getPrincipal();
|
UserDetailsImpl userDetails = (UserDetailsImpl) authentication.getPrincipal();
|
||||||
List<String> roles = userDetails.getAuthorities().stream()
|
List<String> roles = userDetails.getAuthorities().stream()
|
||||||
.map(item -> item.getAuthority())
|
.map(item -> item.getAuthority())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
return ResponseEntity.ok(new JwtResponse(jwt,
|
return ResponseEntity.ok(new JwtResponse(jwt,
|
||||||
userDetails.getId(),
|
userDetails.getId(),
|
||||||
userDetails.getUsername(),
|
userDetails.getUsername(),
|
||||||
userDetails.getEmail(),
|
userDetails.getEmail(),
|
||||||
roles));
|
roles));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/signup")
|
@PostMapping("/register")
|
||||||
public ResponseEntity<?> registerUser(@Valid @RequestBody SignupRequest signUpRequest) {
|
public ResponseEntity<?> registerUser(@Valid @RequestBody SignupRequest signUpRequest) {
|
||||||
if (userRepository.existsByUsername(signUpRequest.getUsername())) {
|
if (userRepository.existsByUsername(signUpRequest.getUsername())) {
|
||||||
return ResponseEntity
|
return ResponseEntity
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.controllers;
|
package com.ossez.spring.security.controllers;
|
||||||
|
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.web.bind.annotation.CrossOrigin;
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.models;
|
package com.ossez.spring.security.models;
|
||||||
|
|
||||||
public enum ERole {
|
public enum ERole {
|
||||||
ROLE_USER,
|
ROLE_USER,
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.models;
|
package com.ossez.spring.security.models;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.models;
|
package com.ossez.spring.security.models;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.payload.request;
|
package com.ossez.spring.security.payload.request;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.payload.request;
|
package com.ossez.spring.security.payload.request;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.payload.response;
|
package com.ossez.spring.security.payload.response;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.payload.response;
|
package com.ossez.spring.security.payload.response;
|
||||||
|
|
||||||
public class MessageResponse {
|
public class MessageResponse {
|
||||||
private String message;
|
private String message;
|
@ -1,13 +1,12 @@
|
|||||||
package com.bezkoder.springjwt.repository;
|
package com.ossez.spring.security.repository;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import com.ossez.spring.security.models.ERole;
|
||||||
|
import com.ossez.spring.security.models.Role;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import com.bezkoder.springjwt.models.ERole;
|
|
||||||
import com.bezkoder.springjwt.models.Role;
|
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface RoleRepository extends JpaRepository<Role, Long> {
|
public interface RoleRepository extends JpaRepository<Role, Long> {
|
||||||
Optional<Role> findByName(ERole name);
|
Optional<Role> findByName(ERole name);
|
@ -1,11 +1,11 @@
|
|||||||
package com.bezkoder.springjwt.repository;
|
package com.ossez.spring.security.repository;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import com.bezkoder.springjwt.models.User;
|
import com.ossez.spring.security.models.User;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface UserRepository extends JpaRepository<User, Long> {
|
public interface UserRepository extends JpaRepository<User, Long> {
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.security;
|
package com.ossez.spring.security.security;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
@ -17,57 +17,57 @@ import org.springframework.security.crypto.password.PasswordEncoder;
|
|||||||
import org.springframework.security.web.SecurityFilterChain;
|
import org.springframework.security.web.SecurityFilterChain;
|
||||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||||
|
|
||||||
import com.bezkoder.springjwt.security.jwt.AuthEntryPointJwt;
|
import com.ossez.spring.security.security.jwt.AuthEntryPointJwt;
|
||||||
import com.bezkoder.springjwt.security.jwt.AuthTokenFilter;
|
import com.ossez.spring.security.security.jwt.AuthTokenFilter;
|
||||||
import com.bezkoder.springjwt.security.services.UserDetailsServiceImpl;
|
import com.ossez.spring.security.security.services.UserDetailsServiceImpl;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableGlobalMethodSecurity(
|
@EnableGlobalMethodSecurity(
|
||||||
// securedEnabled = true,
|
// securedEnabled = true,
|
||||||
// jsr250Enabled = true,
|
// jsr250Enabled = true,
|
||||||
prePostEnabled = true)
|
prePostEnabled = true)
|
||||||
public class WebSecurityConfig { // extends WebSecurityConfigurerAdapter {
|
public class WebSecurityConfig { // extends WebSecurityConfigurerAdapter {
|
||||||
@Autowired
|
@Autowired
|
||||||
UserDetailsServiceImpl userDetailsService;
|
UserDetailsServiceImpl userDetailsService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AuthEntryPointJwt unauthorizedHandler;
|
private AuthEntryPointJwt unauthorizedHandler;
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public AuthTokenFilter authenticationJwtTokenFilter() {
|
public AuthTokenFilter authenticationJwtTokenFilter() {
|
||||||
return new AuthTokenFilter();
|
return new AuthTokenFilter();
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
// public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
|
// public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
|
||||||
// authenticationManagerBuilder.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
|
// authenticationManagerBuilder.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public DaoAuthenticationProvider authenticationProvider() {
|
public DaoAuthenticationProvider authenticationProvider() {
|
||||||
DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
|
DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
|
||||||
|
|
||||||
authProvider.setUserDetailsService(userDetailsService);
|
authProvider.setUserDetailsService(userDetailsService);
|
||||||
authProvider.setPasswordEncoder(passwordEncoder());
|
authProvider.setPasswordEncoder(passwordEncoder());
|
||||||
|
|
||||||
return authProvider;
|
return authProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Bean
|
// @Bean
|
||||||
// @Override
|
// @Override
|
||||||
// public AuthenticationManager authenticationManagerBean() throws Exception {
|
// public AuthenticationManager authenticationManagerBean() throws Exception {
|
||||||
// return super.authenticationManagerBean();
|
// return super.authenticationManagerBean();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@Bean
|
|
||||||
public AuthenticationManager authenticationManager(AuthenticationConfiguration authConfig) throws Exception {
|
|
||||||
return authConfig.getAuthenticationManager();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public PasswordEncoder passwordEncoder() {
|
public AuthenticationManager authenticationManager(AuthenticationConfiguration authConfig) throws Exception {
|
||||||
return new BCryptPasswordEncoder();
|
return authConfig.getAuthenticationManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public PasswordEncoder passwordEncoder() {
|
||||||
|
return new BCryptPasswordEncoder();
|
||||||
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
// protected void configure(HttpSecurity http) throws Exception {
|
// protected void configure(HttpSecurity http) throws Exception {
|
||||||
@ -80,20 +80,21 @@ public class WebSecurityConfig { // extends WebSecurityConfigurerAdapter {
|
|||||||
//
|
//
|
||||||
// http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
|
// http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@Bean
|
|
||||||
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
|
|
||||||
http.cors().and().csrf().disable()
|
|
||||||
.exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
|
|
||||||
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
|
|
||||||
.authorizeRequests().antMatchers("/api/auth/**").permitAll()
|
|
||||||
.antMatchers("/api/test/**").permitAll()
|
|
||||||
.anyRequest().authenticated();
|
|
||||||
|
|
||||||
http.authenticationProvider(authenticationProvider());
|
|
||||||
|
|
||||||
http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
|
@Bean
|
||||||
|
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
|
||||||
return http.build();
|
http.cors().and().csrf().disable()
|
||||||
}
|
.exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
|
||||||
|
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
|
||||||
|
.authorizeRequests().antMatchers("/h2-console/**").permitAll()
|
||||||
|
.antMatchers("/api/test/**").permitAll()
|
||||||
|
.anyRequest().authenticated();
|
||||||
|
|
||||||
|
http.authenticationProvider(authenticationProvider());
|
||||||
|
http.headers().frameOptions().sameOrigin();
|
||||||
|
|
||||||
|
http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);
|
||||||
|
|
||||||
|
return http.build();
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.security.jwt;
|
package com.ossez.spring.security.security.jwt;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.security.jwt;
|
package com.ossez.spring.security.security.jwt;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@ -7,6 +7,7 @@ import javax.servlet.ServletException;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.ossez.spring.security.security.services.UserDetailsServiceImpl;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -17,8 +18,6 @@ import org.springframework.security.web.authentication.WebAuthenticationDetailsS
|
|||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.filter.OncePerRequestFilter;
|
import org.springframework.web.filter.OncePerRequestFilter;
|
||||||
|
|
||||||
import com.bezkoder.springjwt.security.services.UserDetailsServiceImpl;
|
|
||||||
|
|
||||||
public class AuthTokenFilter extends OncePerRequestFilter {
|
public class AuthTokenFilter extends OncePerRequestFilter {
|
||||||
@Autowired
|
@Autowired
|
||||||
private JwtUtils jwtUtils;
|
private JwtUtils jwtUtils;
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.security.jwt;
|
package com.ossez.spring.security.security.jwt;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Value;
|
|||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import com.bezkoder.springjwt.security.services.UserDetailsImpl;
|
import com.ossez.spring.security.security.services.UserDetailsImpl;
|
||||||
import io.jsonwebtoken.*;
|
import io.jsonwebtoken.*;
|
||||||
|
|
||||||
@Component
|
@Component
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.security.services;
|
package com.ossez.spring.security.security.services;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -9,7 +9,7 @@ import org.springframework.security.core.GrantedAuthority;
|
|||||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
|
||||||
import com.bezkoder.springjwt.models.User;
|
import com.ossez.spring.security.models.User;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
public class UserDetailsImpl implements UserDetails {
|
public class UserDetailsImpl implements UserDetails {
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt.security.services;
|
package com.ossez.spring.security.security.services;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
@ -7,8 +7,8 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import com.bezkoder.springjwt.models.User;
|
import com.ossez.spring.security.models.User;
|
||||||
import com.bezkoder.springjwt.repository.UserRepository;
|
import com.ossez.spring.security.repository.UserRepository;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class UserDetailsServiceImpl implements UserDetailsService {
|
public class UserDetailsServiceImpl implements UserDetailsService {
|
@ -1,9 +1,32 @@
|
|||||||
spring.datasource.url= jdbc:mysql://localhost:3306/testdb?useSSL=false
|
spring.jpa.show-sql=true
|
||||||
spring.datasource.username= root
|
spring.jpa.hibernate.ddl-auto=none
|
||||||
spring.datasource.password= 123456
|
spring.jpa.hibernate.use-new-id-generator-mappings=false
|
||||||
|
|
||||||
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQL5InnoDBDialect
|
spring.h2.console.enabled=true
|
||||||
spring.jpa.hibernate.ddl-auto= update
|
spring.h2.console.path=/h2-console
|
||||||
|
spring.datasource.driverClassName=org.h2.Driver
|
||||||
|
spring.datasource.url=jdbc:h2:mem:test;DB_CLOSE_ON_EXIT=FALSE
|
||||||
|
spring.datasource.username=sa
|
||||||
|
spring.sql.init.schema-locations=classpath:db/schema.sql
|
||||||
|
|
||||||
|
spring.datasource.hikari.connection-timeout=50000
|
||||||
|
spring.datasource.hikari.idle-timeout=300000
|
||||||
|
spring.datasource.hikari.max-lifetime=900000
|
||||||
|
spring.datasource.hikari.maximum-pool-size=10
|
||||||
|
spring.datasource.hikari.minimum-idle=10
|
||||||
|
spring.datasource.hikari.pool-name=ConnPool
|
||||||
|
spring.datasource.hikari.connection-test-query=select 1 from dual
|
||||||
|
|
||||||
|
spring.datasource.hikari.data-source-properties.cachePrepStmts=true
|
||||||
|
spring.datasource.hikari.data-source-properties.prepStmtCacheSize=250
|
||||||
|
spring.datasource.hikari.data-source-properties.prepStmtCacheSqlLimit=2048
|
||||||
|
spring.datasource.hikari.data-source-properties.useServerPrepStmts=true
|
||||||
|
spring.datasource.hikari.data-source-properties.useLocalSessionState=true
|
||||||
|
spring.datasource.hikari.data-source-properties.rewriteBatchedStatements=true
|
||||||
|
spring.datasource.hikari.data-source-properties.cacheResultSetMetadata=true
|
||||||
|
spring.datasource.hikari.data-source-properties.cacheServerConfiguration=true
|
||||||
|
spring.datasource.hikari.data-source-properties.elideSetAutoCommits=true
|
||||||
|
spring.datasource.hikari.data-source-properties.maintainTimeStats=false
|
||||||
|
|
||||||
# App Properties
|
# App Properties
|
||||||
bezkoder.app.jwtSecret= bezKoderSecretKey
|
bezkoder.app.jwtSecret= bezKoderSecretKey
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.bezkoder.springjwt;
|
package com.ossez.spring.security;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
Loading…
x
Reference in New Issue
Block a user