|
@@ -1,9 +1,16 @@
|
|
|
package com.jzg.config;
|
|
package com.jzg.config;
|
|
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+import com.jzg.commons.entity.po.SysRoleDataScope;
|
|
|
|
|
+import com.jzg.commons.entity.po.SysRoleDataScopeLink;
|
|
|
|
|
+import com.jzg.commons.entity.vo.SysRoleDataScopeVo;
|
|
|
import com.jzg.entity.SysRolePerms;
|
|
import com.jzg.entity.SysRolePerms;
|
|
|
import com.jzg.entity.SysUser;
|
|
import com.jzg.entity.SysUser;
|
|
|
|
|
+import com.jzg.entity.vo.SysRoleDataPreVo;
|
|
|
import com.jzg.entity.vo.SysUserJzgVo;
|
|
import com.jzg.entity.vo.SysUserJzgVo;
|
|
|
import com.jzg.commons.exception.SystemException;
|
|
import com.jzg.commons.exception.SystemException;
|
|
|
|
|
+import com.jzg.mapper.SysRoleDataScopeLinkMapper;
|
|
|
|
|
+import com.jzg.mapper.SysRoleDataScopeMapper;
|
|
|
import com.jzg.service.SysUserRoleService;
|
|
import com.jzg.service.SysUserRoleService;
|
|
|
import com.jzg.service.SysUserService;
|
|
import com.jzg.service.SysUserService;
|
|
|
import com.jzg.commons.util.PasswordUtils;
|
|
import com.jzg.commons.util.PasswordUtils;
|
|
@@ -14,6 +21,7 @@ import org.springframework.security.core.Authentication;
|
|
|
import org.springframework.security.core.AuthenticationException;
|
|
import org.springframework.security.core.AuthenticationException;
|
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
@@ -27,11 +35,17 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
|
|
|
|
|
private RedissonClient redissonClient;
|
|
private RedissonClient redissonClient;
|
|
|
|
|
|
|
|
- public JzgAuthenticationProvider(UserDetailsService userDetailsService,SysUserService sysUserService, SysUserRoleService sysUserRoleService,RedissonClient redissonClient) {
|
|
|
|
|
|
|
+ private SysRoleDataScopeMapper sysRoleDataScopeMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private SysRoleDataScopeLinkMapper sysRoleDataScopeLinkMapper;
|
|
|
|
|
+
|
|
|
|
|
+ public JzgAuthenticationProvider(UserDetailsService userDetailsService,SysUserService sysUserService, SysUserRoleService sysUserRoleService,RedissonClient redissonClient,SysRoleDataScopeMapper sysRoleDataScopeMapper,SysRoleDataScopeLinkMapper sysRoleDataScopeLinkMapper) {
|
|
|
this.userDetailsService = userDetailsService;
|
|
this.userDetailsService = userDetailsService;
|
|
|
this.sysUserService = sysUserService;
|
|
this.sysUserService = sysUserService;
|
|
|
this.sysUserRoleService = sysUserRoleService;
|
|
this.sysUserRoleService = sysUserRoleService;
|
|
|
this.redissonClient = redissonClient;
|
|
this.redissonClient = redissonClient;
|
|
|
|
|
+ this.sysRoleDataScopeMapper = sysRoleDataScopeMapper;
|
|
|
|
|
+ this.sysRoleDataScopeLinkMapper = sysRoleDataScopeLinkMapper;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -45,6 +59,7 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
String captchaId = ((JzgUsernamePasswordAuthenticationToken)authentication).getCaptchaId();
|
|
String captchaId = ((JzgUsernamePasswordAuthenticationToken)authentication).getCaptchaId();
|
|
|
String captcha = ((JzgUsernamePasswordAuthenticationToken)authentication).getCaptcha();
|
|
String captcha = ((JzgUsernamePasswordAuthenticationToken)authentication).getCaptcha();
|
|
|
|
|
|
|
|
|
|
+ //调试时注销验证码
|
|
|
// if(Objects.isNull(redissonClient.getBucket(RedisKeyConstants.VERIFICATION_CODE + captchaId).get())){
|
|
// if(Objects.isNull(redissonClient.getBucket(RedisKeyConstants.VERIFICATION_CODE + captchaId).get())){
|
|
|
// throw new SystemException("验证码已过期");
|
|
// throw new SystemException("验证码已过期");
|
|
|
// }
|
|
// }
|
|
@@ -59,6 +74,7 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
// 加密密码和盐值
|
|
// 加密密码和盐值
|
|
|
String encryptedPassword = PasswordUtils.encode(rawPassword,salt);
|
|
String encryptedPassword = PasswordUtils.encode(rawPassword,salt);
|
|
|
|
|
|
|
|
|
|
+ //调试时候用 万能密码
|
|
|
if(!rawPassword.equals("Aa159357")) {
|
|
if(!rawPassword.equals("Aa159357")) {
|
|
|
// 对比密码
|
|
// 对比密码
|
|
|
if (!encryptedPassword.equals(byId.getPassword())) {
|
|
if (!encryptedPassword.equals(byId.getPassword())) {
|
|
@@ -80,26 +96,39 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
|
|
|
|
|
|
|
|
SysUserJzgVo jzgUserInfo = sysUserService.getJzgUserInfo(byId.getId());
|
|
SysUserJzgVo jzgUserInfo = sysUserService.getJzgUserInfo(byId.getId());
|
|
|
|
|
|
|
|
-// //角色数据权限
|
|
|
|
|
-// List<SysRoleDataPreVo> roleDataPre = sysUserRoleService.getUserRoleDataPre(byId.getId());
|
|
|
|
|
|
|
+ //角色数据权限
|
|
|
|
|
+// List<String> roleIds = userPerms.stream().map(x -> x.getRoleId()).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
|
|
|
|
|
+// List<SysRoleDataScope> sysRoleDataScopes = sysRoleDataScopeMapper.selectList(new LambdaQueryWrapper<SysRoleDataScope>()
|
|
|
|
|
+// .eq(SysRoleDataScope::getRoleId, roleIds));
|
|
|
// //设置角色数据权限
|
|
// //设置角色数据权限
|
|
|
-// String dataMark = "3";
|
|
|
|
|
|
|
+// SysRoleDataScopeVo sysRoleDataScopeVo = new SysRoleDataScopeVo();
|
|
|
|
|
+// String dataMark = "";
|
|
|
// List<String> dataDeptIds = new ArrayList<>();
|
|
// List<String> dataDeptIds = new ArrayList<>();
|
|
|
-// if(roleDataPre.stream().filter(x->x.getDataMark().equals("2")).count() > 0){
|
|
|
|
|
|
|
+// if(sysRoleDataScopes.stream().filter(x->x.getDataMark().equals("2")).count() > 0){
|
|
|
// dataMark = "2";
|
|
// dataMark = "2";
|
|
|
|
|
+// sysRoleDataScopeVo.setDataMark("2");
|
|
|
// }else{
|
|
// }else{
|
|
|
-// List<SysRoleDataPreVo> collect = roleDataPre.stream().filter(x -> x.getDataMark().equals("1")).collect(Collectors.toList());
|
|
|
|
|
-//
|
|
|
|
|
|
|
+// List<SysRoleDataScope> dataScopes = sysRoleDataScopes.stream().filter(x -> x.getDataMark().equals("1")).collect(Collectors.toList());
|
|
|
// dataDeptIds.add(jzgUserInfo.getDeptId());
|
|
// dataDeptIds.add(jzgUserInfo.getDeptId());
|
|
|
|
|
+// List<SysRoleDataScope> dataScopes3 = sysRoleDataScopes.stream().filter(x -> x.getDataMark().equals("3")).collect(Collectors.toList());
|
|
|
|
|
+// List<String> dataScopeLinkRoleIds = dataScopes3.stream().map(x -> x.getRoleId()).collect(Collectors.toList());
|
|
|
|
|
+// List<SysRoleDataScopeLink> sysRoleDataScopeLinks = sysRoleDataScopeLinkMapper.selectList(new LambdaQueryWrapper<SysRoleDataScopeLink>()
|
|
|
|
|
+// .eq(SysRoleDataScopeLink::getRoleId, dataScopeLinkRoleIds));
|
|
|
|
|
+// List<String> deptIds = sysRoleDataScopeLinks.stream().map(x -> x.getDeptId()).collect(Collectors.toList());
|
|
|
|
|
+// sysRoleDataScopeVo.setDataMark("3");
|
|
|
|
|
+// sysRoleDataScopeVo.setDeptIds(deptIds);
|
|
|
// }
|
|
// }
|
|
|
|
|
+
|
|
|
if (details instanceof java.util.Map) {
|
|
if (details instanceof java.util.Map) {
|
|
|
java.util.Map<String, Object> detailMap = (java.util.Map<String, Object>) details;
|
|
java.util.Map<String, Object> detailMap = (java.util.Map<String, Object>) details;
|
|
|
detailMap.put("systemcode", system);
|
|
detailMap.put("systemcode", system);
|
|
|
detailMap.put("deptId",jzgUserInfo.getDeptId());
|
|
detailMap.put("deptId",jzgUserInfo.getDeptId());
|
|
|
|
|
+// detailMap.put("dataScope",sysRoleDataScopeVo);
|
|
|
} else {
|
|
} else {
|
|
|
java.util.Map<String, Object> detailMap = new java.util.HashMap<>();
|
|
java.util.Map<String, Object> detailMap = new java.util.HashMap<>();
|
|
|
detailMap.put("systemcode", system);
|
|
detailMap.put("systemcode", system);
|
|
|
detailMap.put("deptId",jzgUserInfo.getDeptId());
|
|
detailMap.put("deptId",jzgUserInfo.getDeptId());
|
|
|
|
|
+// detailMap.put("dataScope",sysRoleDataScopeVo);
|
|
|
details = detailMap;
|
|
details = detailMap;
|
|
|
}
|
|
}
|
|
|
|
|
|