修正EmpUserService和UserService事务失效问题
This commit is contained in:
@@ -11,6 +11,7 @@ import org.apache.shiro.subject.PrincipalCollection;
|
|||||||
|
|
||||||
import com.jeesite.common.codec.EncodeUtils;
|
import com.jeesite.common.codec.EncodeUtils;
|
||||||
import com.jeesite.common.lang.ObjectUtils;
|
import com.jeesite.common.lang.ObjectUtils;
|
||||||
|
import com.jeesite.common.utils.SpringUtils;
|
||||||
import com.jeesite.common.web.http.ServletUtils;
|
import com.jeesite.common.web.http.ServletUtils;
|
||||||
import com.jeesite.modules.sys.entity.EmpUser;
|
import com.jeesite.modules.sys.entity.EmpUser;
|
||||||
import com.jeesite.modules.sys.entity.Log;
|
import com.jeesite.modules.sys.entity.Log;
|
||||||
@@ -45,7 +46,7 @@ public class AuthorizingRealm extends com.jeesite.common.shiro.realm.BaseAuthori
|
|||||||
.decodeUrl(ObjectUtils.toString(attributes.get("companyCode"))));
|
.decodeUrl(ObjectUtils.toString(attributes.get("companyCode"))));
|
||||||
empUser.getEmployee().getOffice().setOfficeCode(EncodeUtils
|
empUser.getEmployee().getOffice().setOfficeCode(EncodeUtils
|
||||||
.decodeUrl(ObjectUtils.toString(attributes.get("officeCode"))));
|
.decodeUrl(ObjectUtils.toString(attributes.get("officeCode"))));
|
||||||
empUserService.save(empUser);
|
getEmpUserService().save(empUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -55,7 +56,7 @@ public class AuthorizingRealm extends com.jeesite.common.shiro.realm.BaseAuthori
|
|||||||
User user = UserUtils.getUser();
|
User user = UserUtils.getUser();
|
||||||
|
|
||||||
// 更新登录IP、时间、会话ID等
|
// 更新登录IP、时间、会话ID等
|
||||||
userService.updateUserLoginInfo(user);
|
getUserService().updateUserLoginInfo(user);
|
||||||
|
|
||||||
// 记录用户登录日志
|
// 记录用户登录日志
|
||||||
LogUtils.saveLog(user, ServletUtils.getRequest(), "系统登录", Log.TYPE_LOGIN_LOGOUT);
|
LogUtils.saveLog(user, ServletUtils.getRequest(), "系统登录", Log.TYPE_LOGIN_LOGOUT);
|
||||||
@@ -66,13 +67,19 @@ public class AuthorizingRealm extends com.jeesite.common.shiro.realm.BaseAuthori
|
|||||||
// 记录用户退出日志
|
// 记录用户退出日志
|
||||||
LogUtils.saveLog(logoutUser, request, "系统退出", Log.TYPE_LOGIN_LOGOUT);
|
LogUtils.saveLog(logoutUser, request, "系统退出", Log.TYPE_LOGIN_LOGOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUserService(UserService userService) {
|
public UserService getUserService() {
|
||||||
this.userService = userService;
|
if (userService == null){
|
||||||
|
userService = SpringUtils.getBean(UserService.class);
|
||||||
|
}
|
||||||
|
return userService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEmpUserService(EmpUserService empUserService) {
|
public EmpUserService getEmpUserService() {
|
||||||
this.empUserService = empUserService;
|
if (empUserService == null){
|
||||||
|
empUserService = SpringUtils.getBean(EmpUserService.class);
|
||||||
|
}
|
||||||
|
return empUserService;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,8 +30,6 @@ import com.jeesite.common.shiro.session.SessionDAO;
|
|||||||
import com.jeesite.common.shiro.session.SessionManager;
|
import com.jeesite.common.shiro.session.SessionManager;
|
||||||
import com.jeesite.common.shiro.web.ShiroFilterFactoryBean;
|
import com.jeesite.common.shiro.web.ShiroFilterFactoryBean;
|
||||||
import com.jeesite.common.shiro.web.WebSecurityManager;
|
import com.jeesite.common.shiro.web.WebSecurityManager;
|
||||||
import com.jeesite.modules.sys.service.EmpUserService;
|
|
||||||
import com.jeesite.modules.sys.service.UserService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shiro配置
|
* Shiro配置
|
||||||
@@ -54,13 +52,10 @@ public class ShiroConfig {
|
|||||||
* 系统安全认证实现类
|
* 系统安全认证实现类
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public AuthorizingRealm authorizingRealm(SessionDAO sessionDAO, UserService userService,
|
public AuthorizingRealm authorizingRealm(SessionDAO sessionDAO, CasOutHandler casOutHandler) {
|
||||||
EmpUserService empUserService, CasOutHandler casOutHandler) {
|
|
||||||
AuthorizingRealm bean = new AuthorizingRealm();
|
AuthorizingRealm bean = new AuthorizingRealm();
|
||||||
bean.setCachingEnabled(false);
|
bean.setCachingEnabled(false);
|
||||||
bean.setSessionDAO(sessionDAO);
|
bean.setSessionDAO(sessionDAO);
|
||||||
bean.setUserService(userService);
|
|
||||||
bean.setEmpUserService(empUserService);
|
|
||||||
bean.setCasOutHandler(casOutHandler);
|
bean.setCasOutHandler(casOutHandler);
|
||||||
bean.setCasServerUrl(Global.getProperty("shiro.casServerUrl"));
|
bean.setCasServerUrl(Global.getProperty("shiro.casServerUrl"));
|
||||||
bean.setCasServerCallbackUrl(Global.getProperty("shiro.casClientUrl") + Global.getAdminPath() + "/login-cas");
|
bean.setCasServerCallbackUrl(Global.getProperty("shiro.casClientUrl") + Global.getAdminPath() + "/login-cas");
|
||||||
|
|||||||
Reference in New Issue
Block a user