Spring Security5(3)实现多个登陆页面
在一个网页应用中,我们经常需要做到不同的用户有不同的登录页面,以及登陆之后展示不同的页面;不同的用户之间不能访问互相访问网址等等。这里就需要 Spring Security 来实现多个登陆页面。
这里首先使用 idea 创建一个新的 Spring Boot 应用,在功能选择菜单,我们选择:
- spring security
- thymeleaf
- spring mvc
- springboot devtools
- lombok
这些功能模块,进入项目,首先在 /resources/templates
下创建 admin
和 user
两个文件夹,用来存放不同的登陆页面和首页。
首先给出 admin 的登陆页面:
<!DOCTYPE html>
<html lang="en" xmlns:th="https://www.thymeleaf.org" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Admin login page</title>
</head>
<body>
<h2>Welcome to admin login page</h2>
<form th:action="@{/admin/login}" method="post">
<div id="loginTable">
<table>
<tbody>
<tr>
<td>
<label for="username">UserName</label>
</td>
<td>
<input type="text" id="username" name="username" />
</td>
</tr>
<tr>
<td>
<label for="password">Password</label>
</td>
<td>
<input id="password" type="password" name="password" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="sign in" />
</td>
</tr>
<tr>
<td colspan="2">
<div class="error" th:if="${param.error}">
Invalid username add/or password.
</div>
<div class="info" th:if="${param.logout}">
You have been logged out.
</div>
</td>
</tr>
</tbody>
</table>
</div>
</form>
</body>
</html>
然后是 home 页面:
<!DOCTYPE html>
<html lang="en" xmlns:th