diff --git a/contact-center/app/pom.xml b/contact-center/app/pom.xml
index 21420f49..1360f364 100644
--- a/contact-center/app/pom.xml
+++ b/contact-center/app/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.chatopera.cc
contact-center
- 5.0.0
+ 5.1.0
war
cskefu
春松客服:多渠道智能客服系统
diff --git a/contact-center/app/src/main/java/com/chatopera/cc/proxy/UserProxy.java b/contact-center/app/src/main/java/com/chatopera/cc/proxy/UserProxy.java
index 5688e6b7..7abfa2c7 100644
--- a/contact-center/app/src/main/java/com/chatopera/cc/proxy/UserProxy.java
+++ b/contact-center/app/src/main/java/com/chatopera/cc/proxy/UserProxy.java
@@ -478,18 +478,20 @@ public class UserProxy {
public Predicate toPredicate(
Root root, CriteriaQuery> query,
CriteriaBuilder cb) {
- List list = new ArrayList();
+ List criteria = new ArrayList();
if (user.getRoleList() != null && user.getRoleList().size() > 0) {
for (Role role : user.getRoleList()) {
- list.add(cb.equal(root.get("roleid").as(String.class), role.getId()));
+ criteria.add(cb.equal(root.get("roleid").as(String.class), role.getId()));
}
}
- Predicate[] p = new Predicate[list.size()];
+ Predicate[] p = new Predicate[criteria.size()];
cb.and(cb.equal(root.get("orgi").as(String.class), user.getOrgi()));
- return cb.or(list.toArray(p));
+ return cb.or(criteria.toArray(p));
}
});
+ // clear previous auth map values, ensure the changes are token effect in real time.
+ user.getRoleAuthMap().clear();
if (roleAuthList != null) {
for (RoleAuth roleAuth : roleAuthList) {
user.getRoleAuthMap().put(roleAuth.getDicvalue(), true);