移动管理员权限检查
This commit is contained in:
parent
08b58d4717
commit
1dd56d4690
|
@ -2,8 +2,6 @@ package com.jsl.oa.services.impl;
|
|||
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.mapper.RoleMapper;
|
||||
import com.jsl.oa.model.doData.RoleDO;
|
||||
import com.jsl.oa.model.doData.RoleUserDO;
|
||||
import com.jsl.oa.model.doData.UserCurrentDO;
|
||||
import com.jsl.oa.model.doData.UserDO;
|
||||
import com.jsl.oa.model.voData.UserAllCurrentVO;
|
||||
|
@ -67,7 +65,7 @@ public class UserServiceImpl implements UserService {
|
|||
@Override
|
||||
public BaseResponse userCurrentAll(HttpServletRequest request, @NotNull UserAllCurrentVO userAllCurrentVO) {
|
||||
// 检查是否是管理员用户
|
||||
if (!checkUserIsAdmin(request)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 检查数据
|
||||
|
@ -104,7 +102,7 @@ public class UserServiceImpl implements UserService {
|
|||
@Override
|
||||
public BaseResponse userCurrent(HttpServletRequest request, String id, String username, String email, String phone) {
|
||||
// 检查是否是管理员用户
|
||||
if (!checkUserIsAdmin(request)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 根据顺序优先级进行用户信息获取
|
||||
|
@ -125,22 +123,4 @@ public class UserServiceImpl implements UserService {
|
|||
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <h2>检查用户是否是管理员</h2>
|
||||
* <hr/>
|
||||
* 该方法用于检查用户是否是管理员,类型封装后字节返回结果
|
||||
*
|
||||
* @param request 请求
|
||||
* @return 如果为 true 是管理员,false 不是管理员
|
||||
*/
|
||||
private @NotNull Boolean checkUserIsAdmin(HttpServletRequest request) {
|
||||
RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request));
|
||||
if (roleUserDO != null) {
|
||||
RoleDO roleDO = roleMapper.getRoleByRoleName("admin");
|
||||
return roleUserDO.getRid().equals(roleDO.getId());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package com.jsl.oa.utils;
|
||||
|
||||
import com.jsl.oa.mapper.RoleMapper;
|
||||
import com.jsl.oa.model.doData.RoleDO;
|
||||
import com.jsl.oa.model.doData.RoleUserDO;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.springframework.validation.BindingResult;
|
||||
|
@ -146,6 +149,25 @@ public class Processing {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <h2>检查用户是否是管理员</h2>
|
||||
* <hr/>
|
||||
* 该方法用于检查用户是否是管理员,类型封装后字节返回结果
|
||||
*
|
||||
* @param request 请求
|
||||
* @param roleMapper RoleMapper
|
||||
* @return 如果为 true 是管理员,false 不是管理员
|
||||
*/
|
||||
public static @NotNull Boolean checkUserIsAdmin(HttpServletRequest request, @NotNull RoleMapper roleMapper) {
|
||||
RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request));
|
||||
if (roleUserDO != null) {
|
||||
RoleDO roleDO = roleMapper.getRoleByRoleName("admin");
|
||||
return roleUserDO.getRid().equals(roleDO.getId());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static char getCharFromIndex(int index) {
|
||||
// 生成字符集合,可以根据需要自定义
|
||||
String charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
||||
|
|
Loading…
Reference in New Issue
Block a user