文章目录
Shiro框架简介
Apache Shiro是一个强大且易用的Java安全框架,执行身份认证丶授权丶密码和会话管理。
以用户登录为例-多图参考↓
Shiro主要用来用户认证和用户授权
用户认证 — 用户身份识别。得知道来的人是谁;
用户授权 — 用户权限访问控制。得知道来的人有没有资格进来,又不是“我家大门常打开”;
环境搭建springboot+shiro+mybatis-plus+thymeleaf
springboot+shiro+mybatis-plus+thymeleaf
目录结构
1.创建Spring Boot项目,集成Shiro及相关组件
pom.xml
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--shiro-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.7.1</version>
</dependency>
2.准备一个sql表
创建数据库
create database 数据库名;
选择数据库
use 数据库名;
创建数据表
create database shirompdb;
use shirompdb;
create table account(
id int AUTO_INCREMENT,
name varchar(30) default null,
password varchar(30) default null,
perms varchar(30) default null,
primary key(id)
)engine=innodb charset=utf8;
mysql连接idea并且添加几个用户
3.配置yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/shirompdb
username: root
password: guohui
driver-class-name: com.mysql.cj.jdbc.Driver
thymeleaf:
prefix: classpath:/templates
4.创建表的实体类
pojo
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("account")//account 对应数据库的表
public class user {
private Integer id;
private String name;
private String password;
private String perms;
}
5.创建mybatis-plus的basemapper接口
mapper
@Repository
public interface UserMapper extends BaseMapper<user> {
}
6.创建UserService接口实现
service
@Service
public interface UserService {
public user queryUserByName(String name);