修正EmpUserService和UserService事务失效问题

This commit is contained in:
thinkgem
2018-04-15 17:22:37 +08:00
parent 092347b778
commit ff19a2ea55
2 changed files with 15 additions and 13 deletions

View File

@@ -11,6 +11,7 @@ import org.apache.shiro.subject.PrincipalCollection;
import com.jeesite.common.codec.EncodeUtils;
import com.jeesite.common.lang.ObjectUtils;
import com.jeesite.common.utils.SpringUtils;
import com.jeesite.common.web.http.ServletUtils;
import com.jeesite.modules.sys.entity.EmpUser;
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"))));
empUser.getEmployee().getOffice().setOfficeCode(EncodeUtils
.decodeUrl(ObjectUtils.toString(attributes.get("officeCode"))));
empUserService.save(empUser);
getEmpUserService().save(empUser);
}
@Override
@@ -55,7 +56,7 @@ public class AuthorizingRealm extends com.jeesite.common.shiro.realm.BaseAuthori
User user = UserUtils.getUser();
// 更新登录IP、时间、会话ID等
userService.updateUserLoginInfo(user);
getUserService().updateUserLoginInfo(user);
// 记录用户登录日志
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);
}
public void setUserService(UserService userService) {
this.userService = userService;
public UserService getUserService() {
if (userService == null){
userService = SpringUtils.getBean(UserService.class);
}
return userService;
}
public void setEmpUserService(EmpUserService empUserService) {
this.empUserService = empUserService;
public EmpUserService getEmpUserService() {
if (empUserService == null){
empUserService = SpringUtils.getBean(EmpUserService.class);
}
return empUserService;
}
}

View File

@@ -30,8 +30,6 @@ import com.jeesite.common.shiro.session.SessionDAO;
import com.jeesite.common.shiro.session.SessionManager;
import com.jeesite.common.shiro.web.ShiroFilterFactoryBean;
import com.jeesite.common.shiro.web.WebSecurityManager;
import com.jeesite.modules.sys.service.EmpUserService;
import com.jeesite.modules.sys.service.UserService;
/**
* Shiro配置
@@ -54,13 +52,10 @@ public class ShiroConfig {
* 系统安全认证实现类
*/
@Bean
public AuthorizingRealm authorizingRealm(SessionDAO sessionDAO, UserService userService,
EmpUserService empUserService, CasOutHandler casOutHandler) {
public AuthorizingRealm authorizingRealm(SessionDAO sessionDAO, CasOutHandler casOutHandler) {
AuthorizingRealm bean = new AuthorizingRealm();
bean.setCachingEnabled(false);
bean.setSessionDAO(sessionDAO);
bean.setUserService(userService);
bean.setEmpUserService(empUserService);
bean.setCasOutHandler(casOutHandler);
bean.setCasServerUrl(Global.getProperty("shiro.casServerUrl"));
bean.setCasServerCallbackUrl(Global.getProperty("shiro.casClientUrl") + Global.getAdminPath() + "/login-cas");