mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 10:57:13 +08:00 
			
		
		
		
	fix: 完善查询用户数据权限
1、暂时对用户 Mapper 的 selectList 和 selectPage 进行了数据权限过滤; 2、由于对用户 Mapper 的 selectList 添加了数据权限过滤,请小心使用 selectOne 因为其底层使用的也是 selectList; 3、tips:如需在查询时进行数据权限过滤,尽量不要对 MyBatis Plus 原生查询进行过滤,而是单独声明一个查询方法来使用,以避免不需要过滤数据权限查询数据的场景受到较大影响。
This commit is contained in:
		| @@ -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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user