用户分页查询(Sa-Token鉴权)Spring Boot

背景

一个公司有许多员工,而每个员工对应的权限并不一样,比如经理可以查看所有员工的信息,但是员工就没有这个权限。

后端代码

既然是分页查询,前端需要传入第几页,每页多少条

Controller层

假设我查第1页,每页展示10条。那么查询start就应该从(1-1)* 10 = 0
开始,

在这里插入图片描述

Service层

这里需要2个查询。
1、查询用户表的对应信息,这里用动态sql进行分页。
2、查询满足需求的用户数(因为需要用到总数计算共有多少页)
在这里插入图片描述

pageUtils

在这里插入图片描述

SQL

查询满足条件的用户,分页:
在这里插入图片描述
查询满足条件的用户总数:
在这里插入图片描述

鉴权

这里用的是sa-token,AOP方式来鉴权,通过注解就可以完成此功能。
下图是必须要ROOT权限,或者USER:SELECT权限。
在这里插入图片描述
加上这个注解后,会自动走到StpInterfaceImpl方法的getPermissionList方法,我这里权限都存在了数据库,所以用dao是去查了数据库,判断你是否有这个权限。
在这里插入图片描述

需要引入依赖:

    <!--Sa-Token核心库-->
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-spring-boot-starter</artifactId>
            <version>1.20.0</version>
        </dependency>

yml配置:

  sa-token:
    # token名称 (同时也是cookie名称)
    token-name: token
    # token有效期,单位s 默认30天, -1代表永不过期
    timeout: 3600
    # token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒
    activity-timeout: -1
    # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
    allow-concurrent-login: true
    # 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
    is-share: false
    # token风格
    token-style: uuid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值