目录
1.springboot整合shiro-----认证(登录)
2.1前后端分离,把Controller里的返回改成Result类型(200,"查询成功",null)
1.springboot整合shiro-----认证(登录)
1.1.创建springboot项目
1.2.引依赖
<dependencies>
<!--shiro和redis整合的依赖-->
<dependency>
<groupId>org.crazycake</groupId>
<artifactId>shiro-redis</artifactId>
<version>3.3.1</version>
</dependency>
<!--shrio和thymeleaf集成的扩展依赖,为了能在页面上使用xsln:shrio的标签 -->
<dependency>
<groupId>com.github.theborakompanioni</groupId>
<artifactId>thymeleaf-extras-shiro</artifactId>
<version>2.0.0</version>
</dependency>
<!-- fastson,解决未登录时返回JSON数据-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<!--shiro和springboot整合的依赖-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-starter</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
1.3.修改application配置文件
#mysql连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql:///aa?serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=980412
#日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
mybatis-plus.mapper-locations=classpath:/mapper/*.xml
#thymeleaf 视图解析器前缀后缀 prefix suffix
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
#hashAlgorithmName编码方式,hashIterations编码次数,loginUrl放行路径,map放行规则
shiro.hashAlgorithmName=MD5
shiro.hashIterations=1024
shiro.loginUrl=/login.html
shiro.map[/login]=anon
shiro.map[/doc.html]=anon
shiro.map[/webjars/**]=anon
shiro.map[/swagger-resources/**]=anon
shiro.map[/v2/**]=anon
shiro.map[/**]=authc
1.4.创建实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Permission {
@TableId(type = IdType.AUTO)//名字不叫id的需要加这个注解
private Integer perid;
private String pername;
private String percode;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
@TableId(type = IdType.AUTO,value = "userid")//名字不叫id的需要加这个注解,数据库叫userid
private Integer id;
private String username;
private String userpwd;
private String sex;
private String address;
private String salt;
}
1.5.创建dao层
@Repository
public interface PermissionDao extends BaseMapper<Permission> {
List<Permission> selectPermissionByUserid(Integer userid);
}