mirror of
https://github.com/OtusTeam/Spring.git
synced 2026-06-20 11:14:34 +00:00
2024-03 spring-24 updated
This commit is contained in:
1 parent
dd9729f238
commit
ddb9e342be
4 files changed
+29
-11
No files matched your search
@@ -2,8 +2,11 @@ package ru.otus.spring.controller;
|
||||
|
||||
import org.springframework.security.core.context.SecurityContext;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
@Controller
|
||||
@@ -24,8 +27,10 @@ public class PagesController {
|
||||
}
|
||||
|
||||
@GetMapping("/authenticated")
|
||||
public String authenticatedPage() {
|
||||
public String authenticatedPage(Model model) {
|
||||
SecurityContext securityContext = SecurityContextHolder.getContext();
|
||||
User user = (User) securityContext.getAuthentication().getPrincipal();
|
||||
model.addAttribute("userName", user.getUsername());
|
||||
return "authenticated";
|
||||
}
|
||||
|
||||
@@ -34,9 +39,15 @@ public class PagesController {
|
||||
return "success";
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/error")
|
||||
public String errorPage() {
|
||||
public String errorPage(Model model) {
|
||||
model.addAttribute("source", "errorPage");
|
||||
return "error";
|
||||
}
|
||||
|
||||
@PostMapping("/fail")
|
||||
public String failPage(Model model) {
|
||||
model.addAttribute("source", "failPage");
|
||||
return "error";
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,8 @@ import java.util.ArrayList;
|
||||
public class SecurityConfiguration {
|
||||
|
||||
@Bean
|
||||
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
|
||||
public SecurityFilterChain securityFilterChain(HttpSecurity http)
|
||||
throws Exception {
|
||||
http
|
||||
.csrf(AbstractHttpConfigurer::disable)
|
||||
.sessionManagement((session) -> session
|
||||
@@ -34,10 +35,15 @@ public class SecurityConfiguration {
|
||||
.requestMatchers("/authenticated", "/success").authenticated()
|
||||
.anyRequest().permitAll()
|
||||
)
|
||||
//.addFilterAfter(new MyOwnFilter(), AuthorizationFilter.class)
|
||||
//.httpBasic(Customizer.withDefaults())
|
||||
// .addFilterAfter(new MyOwnFilter(), AuthorizationFilter.class)
|
||||
// .httpBasic(Customizer.withDefaults())
|
||||
.formLogin(Customizer.withDefaults())
|
||||
//.rememberMe(rm -> rm.tokenValiditySeconds(600))
|
||||
/*
|
||||
.formLogin(fm -> fm.defaultSuccessUrl("/success")
|
||||
.failureForwardUrl("/fail")
|
||||
)
|
||||
*/
|
||||
// .rememberMe(rm -> rm.tokenValiditySeconds(600))
|
||||
;
|
||||
return http.build();
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<title>Только для авторизованных</title>
|
||||
</head>
|
||||
<body>
|
||||
Только для авторизованных
|
||||
Только для авторизованных. Вы <span th:text = "${userName}"></span> как раз такой)
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,10 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<title>Упс...</title>
|
||||
</head>
|
||||
<body>
|
||||
Что-то пошло не так. Печалька
|
||||
Что-то пошло не так. Печалька <br/>
|
||||
Источник: <span th:text = "${source}">Неизвестен</span>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user