修正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.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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user