mirror of
https://github.com/chatopera/cosin.git
synced 2025-06-16 18:30:03 +08:00
commit
6588e166e2
@ -38,6 +38,7 @@ import com.cskefu.cc.persistence.repository.PbxHostRepository;
|
|||||||
import com.cskefu.cc.persistence.repository.RoleRepository;
|
import com.cskefu.cc.persistence.repository.RoleRepository;
|
||||||
import com.cskefu.cc.persistence.repository.UserRepository;
|
import com.cskefu.cc.persistence.repository.UserRepository;
|
||||||
import com.cskefu.cc.persistence.repository.UserRoleRepository;
|
import com.cskefu.cc.persistence.repository.UserRoleRepository;
|
||||||
|
import com.cskefu.cc.proxy.AgentSessionProxy;
|
||||||
import com.cskefu.cc.proxy.OrganProxy;
|
import com.cskefu.cc.proxy.OrganProxy;
|
||||||
import com.cskefu.cc.proxy.UserProxy;
|
import com.cskefu.cc.proxy.UserProxy;
|
||||||
import com.cskefu.cc.util.Menu;
|
import com.cskefu.cc.util.Menu;
|
||||||
@ -163,6 +164,9 @@ public class UsersController extends Handler {
|
|||||||
organUserRes.delete(organUsers);
|
organUserRes.delete(organUsers);
|
||||||
|
|
||||||
userRepository.delete(dbUser);
|
userRepository.delete(dbUser);
|
||||||
|
|
||||||
|
AgentSessionProxy agentSessionProxy = MainContext.getContext().getBean(AgentSessionProxy.class);
|
||||||
|
agentSessionProxy.deleteUserSession(dbUser.getId(), dbUser.getOrgi());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
msg = "admin_user_not_exist";
|
msg = "admin_user_not_exist";
|
||||||
|
@ -24,6 +24,7 @@ import com.cskefu.cc.model.Dict;
|
|||||||
import com.cskefu.cc.model.Organ;
|
import com.cskefu.cc.model.Organ;
|
||||||
import com.cskefu.cc.model.SystemConfig;
|
import com.cskefu.cc.model.SystemConfig;
|
||||||
import com.cskefu.cc.model.User;
|
import com.cskefu.cc.model.User;
|
||||||
|
import com.cskefu.cc.proxy.AgentSessionProxy;
|
||||||
import com.cskefu.cc.proxy.OrganProxy;
|
import com.cskefu.cc.proxy.OrganProxy;
|
||||||
import com.cskefu.cc.proxy.UserProxy;
|
import com.cskefu.cc.proxy.UserProxy;
|
||||||
import com.cskefu.cc.util.Menu;
|
import com.cskefu.cc.util.Menu;
|
||||||
@ -52,6 +53,15 @@ public class UserInterceptorHandler extends HandlerInterceptorAdapter {
|
|||||||
User user = (User) request.getSession(true).getAttribute(Constants.USER_SESSION_NAME);
|
User user = (User) request.getSession(true).getAttribute(Constants.USER_SESSION_NAME);
|
||||||
Organ organ = (Organ) request.getSession(true).getAttribute(Constants.ORGAN_SESSION_NAME);
|
Organ organ = (Organ) request.getSession(true).getAttribute(Constants.ORGAN_SESSION_NAME);
|
||||||
|
|
||||||
|
if(user != null){
|
||||||
|
AgentSessionProxy agentSessionProxy = MainContext.getContext().getBean(AgentSessionProxy.class);
|
||||||
|
if(agentSessionProxy.isInvalidSessionId(user.getId(),MainUtils.getContextID(request.getSession().getId()),user.getOrgi())){
|
||||||
|
request.getSession().invalidate();
|
||||||
|
response.sendRedirect("/login.html");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (handler instanceof HandlerMethod) {
|
if (handler instanceof HandlerMethod) {
|
||||||
HandlerMethod handlerMethod = (HandlerMethod) handler;
|
HandlerMethod handlerMethod = (HandlerMethod) handler;
|
||||||
Menu menu = handlerMethod.getMethod().getAnnotation(Menu.class);
|
Menu menu = handlerMethod.getMethod().getAnnotation(Menu.class);
|
||||||
|
@ -105,4 +105,11 @@ public class AgentSessionProxy {
|
|||||||
// logger.info("[isInvalidSessionId] result {}", result);
|
// logger.info("[isInvalidSessionId] result {}", result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void deleteUserSession(final String agentno, final String orgi) {
|
||||||
|
if (cache.existUserSessionByAgentnoAndOrgi(agentno, orgi)) {
|
||||||
|
logger.info("[deleteUserSession] agentno {}, orgi {}", agentno, orgi);
|
||||||
|
cache.deleteUserSessionByAgentnoAndOrgi(agentno, orgi);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user