springboot+mybatis+spring security项目实例----入门实例
spring security的介绍
Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于Spring的应用程序的实际标准。
Spring Security是一个框架,致力于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Spring Security的真正强大之处在于可以轻松扩展以满足自定义要求。官方文档主要介绍了其四种特征:
1.对身份验证和授权的全面且可扩展的支持
2.防御会话固定,点击劫持,跨站点请求伪造等攻击
3.Servlet API集成
4.与Spring Web MVC的可选集成
这里我们主要基于身份验证的管理。其实这是我第一次写博客,有什么问题还请大家谅解,多多在评论区指出
创建数据库
由于项目需求,我们需要验证和授权都要做到,所以说数据库的设计是用户-用户组-角色-权限。但是我刚学习只是用到了用户这张表,道理都是一样的,我们先来讲讲登录验证的代码块吧!
- 创建用户表
CREATE TABLE `user` (
`id` varchar(255) NOT NULL,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- 初始化数据
INSERT INTO `user` VALUES ('1', 'admin', '123');
INSERT INTO `user` VALUES ('2', 'asd', '123');
创建springboot+mybatis项目,准备页面
创建流程就不用说了,下面直接到项目中
- 导入spring-boot-starter-security部分的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
- 准备页面
示例程序,页面越简单越好,只用于登陆的login.html以及用于登陆成功后的home.html,将其放置在 resources/templates 目录下:
(1)login.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<bo