fix: 完善查询用户数据权限
1、暂时对用户 Mapper 的 selectList 和 selectPage 进行了数据权限过滤; 2、由于对用户 Mapper 的 selectList 添加了数据权限过滤,请小心使用 selectOne 因为其底层使用的也是 selectList; 3、tips:如需在查询时进行数据权限过滤,尽量不要对 MyBatis Plus 原生查询进行过滤,而是单独声明一个查询方法来使用,以避免不需要过滤数据权限查询数据的场景受到较大影响。
This commit is contained in:
parent
8743ed14d9
commit
026247f677
@ -16,6 +16,16 @@
|
|||||||
|
|
||||||
package top.charles7c.cnadmin.system.mapper;
|
package top.charles7c.cnadmin.system.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
|
||||||
|
import top.charles7c.cnadmin.common.annotation.DataPermission;
|
||||||
import top.charles7c.cnadmin.common.base.BaseMapper;
|
import top.charles7c.cnadmin.common.base.BaseMapper;
|
||||||
import top.charles7c.cnadmin.system.model.entity.UserDO;
|
import top.charles7c.cnadmin.system.model.entity.UserDO;
|
||||||
|
|
||||||
@ -25,4 +35,23 @@ import top.charles7c.cnadmin.system.model.entity.UserDO;
|
|||||||
* @author Charles7c
|
* @author Charles7c
|
||||||
* @since 2022/12/22 21:47
|
* @since 2022/12/22 21:47
|
||||||
*/
|
*/
|
||||||
public interface UserMapper extends BaseMapper<UserDO> {}
|
public interface UserMapper extends BaseMapper<UserDO> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@DataPermission
|
||||||
|
List<UserDO> selectList(@Param(Constants.WRAPPER) Wrapper<UserDO> queryWrapper);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@DataPermission
|
||||||
|
<P extends IPage<UserDO>> P selectPage(P page, @Param(Constants.WRAPPER) Wrapper<UserDO> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据用户名查询
|
||||||
|
*
|
||||||
|
* @param username
|
||||||
|
* 用户名
|
||||||
|
* @return 用户信息
|
||||||
|
*/
|
||||||
|
@Select("SELECT * FROM `sys_user` WHERE `username` = #{username}")
|
||||||
|
UserDO selectByUsername(@Param("username") String username);
|
||||||
|
}
|
||||||
|
@ -238,7 +238,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public UserDO getByUsername(String username) {
|
public UserDO getByUsername(String username) {
|
||||||
return baseMapper.lambdaQuery().eq(UserDO::getUsername, username).one();
|
return baseMapper.selectByUsername(username);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user