session干扰

This commit is contained in:
lyd
2022-09-28 08:55:14 +08:00
parent 805792e5fa
commit a820a7fdf5
5 changed files with 24 additions and 49 deletions

View File

@@ -105,7 +105,7 @@ public class User extends BaseEntity implements Serializable {
public boolean equals(Object o) {
if (this == o) {
return true;
}
}
if (o == null || getClass() != o.getClass()) {
return false;
}

View File

@@ -70,7 +70,7 @@ public class MenuController {
@ApiOperation("根据菜单ID返回所有子节点ID包含自身ID")
@GetMapping(value = "/child")
@SaCheckPermission("menu:list','roles:list")
@SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND)
public ResponseEntity<Object> child(@RequestParam Long id){
Set<Menu> menuSet = new HashSet<>();
List<MenuDto> menuList = menuService.getMenus(id);

View File

@@ -94,6 +94,7 @@ public class UserServiceImpl implements UserService {
if (userRepository.findByEmail(resources.getEmail()) != null) {
throw new EntityExistException(User.class, "email", resources.getEmail());
}
resources.setCreateBy(SecurityUtils.getCurrentUsername());
userRepository.save(resources);
}
@@ -139,7 +140,7 @@ public class UserServiceImpl implements UserService {
// 清除缓存
delCaches(user.getId(), user.getUsername());
// 修改session
flushSession(user);
// flushSession(user);
}
@Override
@@ -153,7 +154,7 @@ public class UserServiceImpl implements UserService {
// 清理缓存
delCaches(user.getId(), user.getUsername());
// 修改session
flushSession(user);
// flushSession(user);
}
@Override
@@ -183,7 +184,7 @@ public class UserServiceImpl implements UserService {
public void updatePass(String username, String pass) {
userRepository.updatePass(username, pass, new Date());
redisUtils.del("user::username:" + username);
flushSession(userRepository.findByUsername(username));
// flushSession(userRepository.findByUsername(username));
}
@Override
@@ -199,7 +200,7 @@ public class UserServiceImpl implements UserService {
FileUtil.del(oldPath);
}
@NotBlank String username = user.getUsername();
flushSession(user);
// flushSession(user);
return new HashMap<String, String>(1) {{
put("avatar", file.getName());
}};
@@ -209,7 +210,7 @@ public class UserServiceImpl implements UserService {
@Transactional(rollbackFor = Exception.class)
public void updateEmail(String username, String email) {
userRepository.updateEmail(username, email);
flushSession(userRepository.findByUsername(username));
// flushSession(userRepository.findByUsername(username));
}
@Override
@@ -246,9 +247,9 @@ public class UserServiceImpl implements UserService {
*
* @param user /
*/
private void flushSession(User user) {
UserDto userDto = this.findByName(user.getUsername());
List<String> permissionList = roleService.getPermissionList(userDto.getId().toString());
flushSessionUtil.flushSessionInfo(userDto, permissionList);
}
// private void flushSession(User user) {
// UserDto userDto = this.findByName(user.getUsername());
// List<String> permissionList = roleService.getPermissionList(userDto.getId().toString());
// flushSessionUtil.flushSessionInfo(userDto, permissionList);
// }
}

View File

@@ -17,7 +17,6 @@ const service = axios.create({
// request拦截器
service.interceptors.request.use(
config => {
// debugger
if (getToken()) {
config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}

View File

@@ -70,16 +70,16 @@
>
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="100px">
<el-form-item label="用户名" prop="username">
<el-input style="width: 200px;" v-model="form.username" />
<el-input v-model="form.username" style="width: 200px;" />
</el-form-item>
<el-form-item label="电话" prop="phone">
<el-input v-model.number="form.phone" style="width: 200px;"/>
<el-input v-model.number="form.phone" style="width: 200px;" />
</el-form-item>
<el-form-item label="昵称" prop="nickName">
<el-input v-model="form.nickName" style="width: 200px;"/>
<el-input v-model="form.nickName" style="width: 200px;" />
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" style="width: 200px;"/>
<el-input v-model="form.email" style="width: 200px;" />
</el-form-item>
<el-form-item label="部门" prop="dept.id">
<treeselect
@@ -191,7 +191,6 @@
<script>
import crudUser from '@/api/system/user'
import { isvalidPhone } from '@/utils/validate'
import { getDepts, getDeptSuperior } from '@/api/system/dept'
import { getAll, getLevel } from '@/api/system/role'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
@@ -205,7 +204,6 @@ import { mapGetters } from 'vuex'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
let userRoles = []
let userJobs = []
const defaultForm = {
id: null,
username: null,
@@ -227,14 +225,6 @@ export default {
// 数据字典
dicts: ['user_status'],
data() {
// 自定义验证
const validPhone = (rule, value, callback) => {
if (!isvalidPhone(value)) {
callback(new Error('请输入正确的11位手机号码'))
} else {
callback()
}
}
return {
height: document.documentElement.clientHeight - 180 + 'px;',
deptName: '', depts: [], deptDatas: [], level: 3, roles: [],
@@ -257,12 +247,6 @@ export default {
nickName: [
{ required: true, message: '请输入用户昵称', trigger: 'blur' },
{ min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' }
],
email: [
{ type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur' }
],
phone: [
{ required: false, trigger: 'blur', validator: validPhone }
]
}
}
@@ -289,13 +273,6 @@ export default {
userRoles.push(role)
})
},
changeJob(value) {
userJobs = []
value.forEach(function(data, index) {
const job = { id: data }
userJobs.push(job)
})
},
deleteTag(value) {
userRoles.forEach(function(data, index) {
if (data.id === value) {
@@ -316,14 +293,12 @@ export default {
},
// 新增前将多选的值设置为空
[CRUD.HOOK.beforeToAdd]() {
this.jobDatas = []
this.roleDatas = []
},
// 初始化编辑时候的角色与岗位
[CRUD.HOOK.beforeToEdit](crud, form) {
this.roleDatas = []
userRoles = []
userJobs = []
const _this = this
form.roles.forEach(function(role, index) {
_this.roleDatas.push(role.id)
@@ -339,12 +314,6 @@ export default {
type: 'warning'
})
return false
} else if (this.jobDatas.length === 0) {
this.$message({
message: '岗位不能为空',
type: 'warning'
})
return false
} else if (this.roleDatas.length === 0) {
this.$message({
message: '角色不能为空',
@@ -353,11 +322,12 @@ export default {
return false
}
crud.form.roles = userRoles
// crud.form.jobs = userJobs
return true
},
// 获取左侧部门数据
getDeptDatas(node, resolve) {
console.log('node', node)
console.log('resolve', resolve)
const sort = 'id,desc'
const params = { sort: sort }
if (typeof node !== 'object') {
@@ -367,8 +337,10 @@ export default {
} else if (node.level !== 0) {
params['pid'] = node.data.id
}
console.log('params', params)
setTimeout(() => {
getDepts(params).then(res => {
console.log('res', res)
if (resolve) {
resolve(res.content)
} else {
@@ -378,7 +350,9 @@ export default {
}, 100)
},
getDepts() {
console.log('获取部门')
getDepts({ enabled: true }).then(res => {
console.log('获取的部门信息', res)
this.depts = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
@@ -389,6 +363,7 @@ export default {
},
getSupDepts(deptId) {
getDeptSuperior(deptId).then(res => {
console.log('父部门', res)
const date = res.content
this.buildDepts(date)
this.depts = date