SpringBoot+shiro+mybatis实现权限登录

本文介绍了如何使用SpringBoot、Shiro和Mybatis实现用户权限登录。详细讲解了数据库查询、DAO层、Service层的实现,以及整合Thymeleaf后的前端页面配置。还自定义了Realm进行认证和授权,并提供了角色认证过滤器的定制方法。最后展示了Controller层的映射处理。
摘要由CSDN通过智能技术生成

SELECT p.* ,r.role_name FROM user u, role r, permission p

WHERE username = #{username} AND u.role_id = r.id AND p.role_id = r.id;

(2)DAO层:

@Mapper

public interface UserMapper {

User queryUserByUsername(@Param(“username”) String username);

Permissions queryPermissionByUsername(@Param(“username”) String username);

}

(3)service层:

@Service

public class UserServiceImpl implements UserService {

@Autowired

private UserMapper userMapper;

@Override

public User queryUserByUsername(String username) {

return userMapper.queryUserByUsername(username);

}

@Override

public Permissions queryPermissionByUsername(String username) {

return userMapper.queryPermissionByUsername(username);

}

}

弄到这里,我们的mybatis+springboot整合也基本结束,所以在测试类里测试一下:

@SpringBootTest

class CsyApplicationTests {

@Autowired

private UserMapper userMapper;

@Test

void contextLoads() {

User admin = userMapper.queryUserByUsername(“admin”);

System.out.println(admin.toString());

Permissions permission = userMapper.queryPermissionByUsername(“admin”);

System.out.println(permission.toString());

}

}

测试结果:

得到了查询结果

SpringBoot+shiro+mybatis实现权限登录

6.整合Thymeleaf进来:

====================================================================================

前端页面:

在html页面我们整合了Thymeleaf,使用了Jquery,semantic,需要导包

SpringBoot+shiro+mybatis实现权限登录

SpringBoot+shiro+mybatis实现权限登录

index.html代码:

在这里,如果是User就只能访问A,Admin能访问A,B,superAdmin能访问A,B,C

xmlns:th=“http://www.thymeleaf.org”

xmlns=“http://www.w3.org/1999/xhtml”

xmlns:layout=“http://www.ultraq.net.nz/web/thymeleaf/layout”

xmlns:shiro=“http://www.pollix.at/thymeleaf/shiro”

信息管理平台-首页

name=“viewport”

content=“width=device-width, initial-scale=1, maximum-scale=1”

/>

首页

href=“https://cdn.bootcss.com/semantic-ui/2.4.1/semantic.min.css”

rel=“stylesheet”

/>

首页

关于

登录

用户名:

注销

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值