提交 b9107f54 编写于 作者: alvachien's avatar alvachien

Add new logic

上级 64b5ef15
......@@ -99,7 +99,7 @@ public class SecurityConfig {
.formLogin(
form -> form
.loginPage("/login")
.loginProcessingUrl("/login")
//.loginProcessingUrl("/login")
.defaultSuccessUrl("/user")
.permitAll()
)
......
......@@ -4,13 +4,17 @@ import jakarta.validation.Valid;
import java.util.List;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import com.poc.alvachien.authserverdemo.model.LoginDto;
import com.poc.alvachien.authserverdemo.model.UserAccount;
import com.poc.alvachien.authserverdemo.model.UserAccountDto;
import com.poc.alvachien.authserverdemo.service.UserService;
......@@ -36,11 +40,25 @@ public class MainController {
}
@GetMapping("/login")
public String loginForm() {
public String loginForm(Model model) {
log.info("Requiring /login");
LoginDto ld = new LoginDto();
model.addAttribute("login", ld);
return "login";
}
// @PostMapping("/login")
// public String login(@Valid @ModelAttribute("login") LoginDto loginData,
// BindingResult result, Model model) {
// log.info("Posting to /login");
// //return sysUserService.login(loginBody);
// Authentication authentication = authenticationManager
// .authenticate(new UsernamePasswordAuthenticationToken(loginData.getEmail(), loginData.getPassword()));
// return "user";
// }
// handler method to handle user registration request
@GetMapping("register")
public String showRegistrationForm(Model model){
......
package com.poc.alvachien.authserverdemo.model;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotEmpty;
public class LoginDto {
@NotEmpty(message = "Email should not be empty")
@Email
private String email;
@NotEmpty(message = "Password should not be empty")
private String password;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
......@@ -2,44 +2,51 @@
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>AC Auth. System</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" th:href="@{/static/css/login.css}"/>
<meta charset="UTF-8">
<title>AC Auth. System</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" th:href="@{/static/css/login.css}" />
</head>
<body>
<div class="container py-3">
<div th:replace="~{fragments/header :: header}">
Header
<div class="container py-3">
<div th:replace="~{fragments/header :: header}">
Header
</div>
<main class="form-signin w-100 m-auto">
<form method="post" role="form" th:action="@{/login}" th:object="${login}">
<img class="mb-4" th:src="@{/static/img/logo.svg}" alt="" width="72" height="57">
<h1 class="h3 mb-3 fw-normal">Please sign in</h1>
<div class="form-group mb-3">
<label class="form-label">Email</label>
<input class="form-control" id="email" name="email" placeholder="Enter email address" th:field="*{email}"
type="email" />
<p th:errors="*{email}" class="text-danger" th:if="${#fields.hasErrors('email')}">
</p>
</div>
<div class="form-group mb-3">
<label class="form-label">Password</label>
<input class="form-control" id="password" name="password" placeholder="Enter password" th:field="*{password}"
type="password" />
<p th:errors="*{password}" class="text-danger" th:if="${#fields.hasErrors('password')}">
</p>
</div>
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me"> Remember me </label>
</div>
<button class="w-100 btn btn-lg btn-primary" type="submit">Sign in</button>
</form>
</main>
<main class="form-signin w-100 m-auto">
<form>
<img class="mb-4" th:src="@{/static/img/logo.svg}" alt="" width="72" height="57">
<h1 class="h3 mb-3 fw-normal">Please sign in</h1>
<div class="form-floating">
<input type="email" class="form-control" id="floatingInput" placeholder="name@example.com">
<label for="floatingInput">Email address</label>
</div>
<div class="form-floating">
<input type="password" class="form-control" id="floatingPassword" placeholder="Password">
<label for="floatingPassword">Password</label>
</div>
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me"> Remember me </label>
</div>
<button class="w-100 btn btn-lg btn-primary" type="submit">Sign in</button>
</form>
</main>
<div th:replace="~{fragments/footer :: footer}">&copy; 2022 - 2023</div>
</div>
<div th:replace="~{fragments/footer :: footer}">&copy; 2022 - 2023</div>
</div>
</body>
......
......@@ -38,11 +38,11 @@
</form> -->
<form method="post" role="form" th:action="@{/register/save}" th:object="${user}">
<img class="mb-4" th:src="@{/static/img/logo.svg}" alt="" width="72" height="57">
<h1 class="h3 mb-3 fw-normal">Please register with following</h1>
<h1 class="h3 mb-3 fw-normal">Please register</h1>
<div class="form-group mb-3">
<label class="form-label">First Name</label>
<input class="form-control" id="firstName" name="firstName" placeholder="Enter first name"
<label class="form-label" for="controlFirstName">First name</label>
<input class="form-control" id="controlFirstName" placeholder="First Name"
th:field="*{firstName}" type="text" />
<p th:errors="*{firstName}" class="text-danger" th:if="${#fields.hasErrors('firstName')}">
</p>
......@@ -55,6 +55,7 @@
<p th:errors="*{lastName}" class="text-danger" th:if="${#fields.hasErrors('lastName')}">
</p>
</div>
<div class="form-group mb-3">
<label class="form-label">Email</label>
<input class="form-control" id="email" name="email" placeholder="Enter email address"
......@@ -62,6 +63,7 @@
<p th:errors="*{email}" class="text-danger" th:if="${#fields.hasErrors('email')}">
</p>
</div>
<div class="form-group mb-3">
<label class="form-label">Password</label>
<input class="form-control" id="password" name="password" placeholder="Enter password"
......@@ -72,16 +74,13 @@
<div class="form-group mb-3">
<button class="btn btn-primary" type="submit">Register</button>
<span>Already registered? <a href="/" th:href="@{/login}">Login
here</a></span>
<span>Already registered? <a href="/" th:href="@{/login}">Login here</a></span>
</div>
</form>
</main>
<div th:replace="~{fragments/footer :: footer}">&copy; 2022 - 2023</div>
</div>
</body>
</html>
\ No newline at end of file
</html>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册