首先展示一下项目结构:
后端部分主要是两部分组成,一部分是config层,用来实现授权和认证;另一部分是controller层,用来写各个接口代码。
前端部分包括三个vip的页面,我们把它当做不同的权限对应的界面,加上一个主页index和一个登陆login界面。下面开始实作:
一、引入相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity4</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
二、前端代码
主界面代码(前端写的超简陋,我们只管完成效果,不求美观),包括登录、注销和三块div对应项目结构中的三个vip。
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div>
<a th:href="@{/index}">首页</a>
</div>
<div>
<a th:href="@{/toLogin}">登录</a>
</div>
<div>
<a th:href="@{/logout}">注销</a>
</div>
<div>
<a th:href="@{/views/vip1/1}">vip1-1</a>
<a th:href="@{/views/vip1/2}">vip1-2</a>
<a th:href="@{/views/vip1/3}">vip1-3</a>
</div>
<br><br><br>
<div>
<a th:href="@{/views/vip2/1}">vip2-1</a>
<a th:href="@{/views/vip2/2}">vip2-2</a>
<a th:href="@{/views/vip2/3}">vip2-3</a>
</div>
<br><br><br>
<div>
<a th:href="@{/views/vip3/1}">vip3-1</a>
<a th:href="@{/views/vip3/2}">vip3-2</a>
<a t