Это моя WebSecurityConfig
Код: Выделить всё
Customizer logoutConfigurerCustomizer = httpSecurityLogoutConfigurer -> {
httpSecurityLogoutConfigurer.deleteCookies("JSESSIONID");
httpSecurityLogoutConfigurer.permitAll();
};
Customizer sessionManagementConfigurerCustomizer =
httpSecuritySessionManagementConfigurer ->
httpSecuritySessionManagementConfigurer.maximumSessions(1);
http
.csrf(AbstractHttpConfigurer::disable)
.exceptionHandling(exception -> exception.authenticationEntryPoint(unauthorizedHandler))
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.authorizeHttpRequests(auth ->
auth.requestMatchers("/prog/auth/**").permitAll()
.requestMatchers("/prog/url/**").hasAnyAuthority("AUTH1","AUTH2")
Код: Выделить всё
@RestController
@RequestMapping("/auth")
public class AuthController {
//...
@CrossOrigin(origins = "*")
@PostMapping("/signin")
public ResponseEntity authenticateUser(@Valid @RequestBody LoginRequest loginRequest) {
logger.info("Login");
try {
authenticationManager.authenticate(
new UsernamePasswordAuthenticationToken(
loginRequest.getUsername(),
loginRequest.getPassword()
)
);
//...
Код: Выделить всё
/sat
Код: Выделить всё
x s i : s c h e m a L o c a t i o n = & q u o t ; h t t p : / / m a v e n . a p a c h e . o r g / P O M / 4 . 0 . 0 h t t p s : / / m a v e n . a p a c h e . o r g / x s d / m a v e n - 4 . 0 . 0 . x s d & q u o t ; & g t ; < b r / > & l t ; m o d e l V e r s i o n & g t ; 4 . 0 . 0 & l t ; / m o d e l V e r s i o n & g t ; < b r / > & l t ; d e p e n d e n c y M a n a g e m e n t & g t ; < b r / > & l t ; d e p e n d e n c i e s & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k . b o o t & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - b o o t - d e p e n d e n c i e s & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; 3 . 3 . 0 & l t ; / v e r s i o n & g t ; < b r / > & l t ; t y p e & g t ; p o m & l t ; / t y p e & g t ; < b r / > & l t ; s c o p e & g t ; i m p o r t & l t ; / s c o p e & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; / d e p e n d e n c i e s & g t ; < b r / > & l t ; / d e p e n d e n c y M a n a g e m e n t & g t ; < b r / > & l t ; g r o u p I d & g t ; i t . t e s t & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; p r o g & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; v 1 & l t ; / v e r s i o n & g t ; < b r / > & l t ; p a c k a g i n g & g t ; w a r & l t ; / p a c k a g i n g & g t ; < b r / > & l t ; n a m e & g t ; p r o g & l t ; / n a m e & g t ; < b r / > & l t ; d e s c r i p t i o n & g t ; P R O J E C T & l t ; / d e s c r i p t i o n & g t ; < b r / > & l t ; p r o p e r t i e s & g t ; < b r / > & l t ; j a v a . v e r s i o n & g t ; 2 1 & l t ; / j a v a . v e r s i o n & g t ; < b r / > & l t ; f u l l - a r t i f a c t - n a m e & g t ; t a r g e t / $ { p r o j e c t . a r t i f a c t I d } - $ { p r o j e c t . v e r s i o n } . j a r & l t ; / f u l l - a r t i f a c t - n a m e & g t ; < b r / > & l t ; / p r o p e r t i e s & g t ; < b r / > & l t ; d e p e n d e n c i e s & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k . b o o t & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - b o o t - s t a r t e r - t o m c a t & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; s c o p e & g t ; p r o v i d e d & l t ; / s c o p e & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k . b o o t & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - b o o t - s t a r t e r - d a t a - j p a & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; e x c l u s i o n s & g t ; < b r / > & l t ; e x c l u s i o n & g t ; < b r / > & l t ; g r o u p I d & g t ; c h . q o s . l o g b a c k & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; l o g b a c k - c l a s s i c & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; / e x c l u s i o n & g t ; < b r / > & l t ; / e x c l u s i o n s & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k . b o o t & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - b o o t - s t a r t e r - t h y m e l e a f & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; e x c l u s i o n s & g t ; < b r / > & l t ; e x c l u s i o n & g t ; < b r / > & l t ; g r o u p I d & g t ; c h . q o s . l o g b a c k & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; l o g b a c k - c l a s s i c & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; / e x c l u s i o n & g t ; < b r / > & l t ; / e x c l u s i o n s & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k . b o o t & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - b o o t - s t a r t e r - w e b & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; e x c l u s i o n s & g t ; < b r / > & l t ; e x c l u s i o n & g t ; < b r / > & l t ; g r o u p I d & g t ; c h . q o s . l o g b a c k & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; l o g b a c k - c l a s s i c & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; / e x c l u s i o n & g t ; < b r / > & l t ; / e x c l u s i o n s & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k . b o o t & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - b o o t - s t a r t e r - s e c u r i t y & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; e x c l u s i o n s & g t ; < b r / > & l t ; e x c l u s i o n & g t ; < b r / > & l t ; g r o u p I d & g t ; c h . q o s . l o g b a c k & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; l o g b a c k - c l a s s i c & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; / e x c l u s i o n & g t ; < b r / > & l t ; / e x c l u s i o n s & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k . b o o t & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - b o o t - s t a r t e r - v a l i d a t i o n & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; e x c l u s i o n s & g t ; < b r / > & l t ; e x c l u s i o n & g t ; < b r / > & l t ; g r o u p I d & g t ; c h . q o s . l o g b a c k & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; l o g b a c k - c l a s s i c & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; / e x c l u s i o n & g t ; < b r / > & l t ; / e x c l u s i o n s & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; i o . j s o n w e b t o k e n & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; j j w t - a p i & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; 0 . 1 1 . 5 & l t ; / v e r s i o n & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; i o . j s o n w e b t o k e n & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; j j w t - i m p l & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; 0 . 1 1 . 5 & l t ; / v e r s i o n & g t ; < b r / > & l t ; s c o p e & g t ; r u n t i m e & l t ; / s c o p e & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; i o . j s o n w e b t o k e n & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; j j w t - j a c k s o n & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; 0 . 1 1 .5
runtime
org.springframework.boot
spring-boot-devtools
runtime
true
mysql
mysql-connector-java
8.0.33
jakarta.servlet.jsp
jakarta.servlet.jsp-api
3.0.0
org.springframework.boot
spring-boot-starter-test
test
org.apache.commons
commons-lang3
3.14.0
org.webjars
webjars-locator-core
org.springframework.session
spring-session-jdbc
org.jetbrains
annotations
24.0.1
compile
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-mail
org.apache.poi
poi-ooxml
5.2.5
com.squareup.okhttp3
okhttp
4.12.0
io.vavr
vavr
0.10.4
org.threeten
threeten-extra
1.8.0
org.apache.maven.plugins
maven-war-plugin
3.4.0
false
org.apache.maven.plugins
maven-compiler-plugin
21
21
org.wildfly.plugins
wildfly-maven-plugin
5.0.0.Final
Код: Выделить всё
http://localhost:8080/prog/auth/signin (POST method)
{
"password": "password",
"username": "username"
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... -supported