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;
|
||||
|
||||
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.system.model.entity.UserDO;
|
||||
|
||||
@ -25,4 +35,23 @@ import top.charles7c.cnadmin.system.model.entity.UserDO;
|
||||
* @author Charles7c
|
||||
* @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
|
||||
public UserDO getByUsername(String username) {
|
||||
return baseMapper.lambdaQuery().eq(UserDO::getUsername, username).one();
|
||||
return baseMapper.selectByUsername(username);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user