|
@@ -20,6 +20,7 @@ import com.jeeplus.modules.sys.entity.Office;
|
|
import com.jeeplus.modules.sys.entity.Role;
|
|
import com.jeeplus.modules.sys.entity.Role;
|
|
import com.jeeplus.modules.sys.entity.SystemConfig;
|
|
import com.jeeplus.modules.sys.entity.SystemConfig;
|
|
import com.jeeplus.modules.sys.entity.User;
|
|
import com.jeeplus.modules.sys.entity.User;
|
|
|
|
+import com.jeeplus.modules.sys.security.SystemAuthorizingRealm;
|
|
import com.jeeplus.modules.sys.service.OfficeService;
|
|
import com.jeeplus.modules.sys.service.OfficeService;
|
|
import com.jeeplus.modules.sys.service.SystemConfigService;
|
|
import com.jeeplus.modules.sys.service.SystemConfigService;
|
|
import com.jeeplus.modules.sys.service.SystemService;
|
|
import com.jeeplus.modules.sys.service.SystemService;
|
|
@@ -35,6 +36,9 @@ import org.apache.commons.lang3.StringEscapeUtils;
|
|
import org.apache.shiro.SecurityUtils;
|
|
import org.apache.shiro.SecurityUtils;
|
|
import org.apache.shiro.authz.annotation.Logical;
|
|
import org.apache.shiro.authz.annotation.Logical;
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
|
+import org.apache.shiro.subject.PrincipalCollection;
|
|
|
|
+import org.apache.shiro.subject.SimplePrincipalCollection;
|
|
|
|
+import org.apache.shiro.subject.Subject;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.Model;
|
|
import org.springframework.ui.Model;
|
|
@@ -845,6 +849,15 @@ public class UserController extends BaseController {
|
|
if("home".equals(request.getParameter("home"))){
|
|
if("home".equals(request.getParameter("home"))){
|
|
// model.addAttribute("message", "修改密码成功,请重新登录");
|
|
// model.addAttribute("message", "修改密码成功,请重新登录");
|
|
// SecurityUtils.getSubject().logout();
|
|
// SecurityUtils.getSubject().logout();
|
|
|
|
+
|
|
|
|
+ Subject subject = SecurityUtils.getSubject();
|
|
|
|
+ SystemAuthorizingRealm.Principal principal = (SystemAuthorizingRealm.Principal) subject.getPrincipal();
|
|
|
|
+ PrincipalCollection principalCollection = subject.getPrincipals();
|
|
|
|
+ principal.setFirstFlag(false);
|
|
|
|
+ String realmName = principalCollection.getRealmNames().iterator().next();
|
|
|
|
+ PrincipalCollection newPrincipalCollection =
|
|
|
|
+ new SimplePrincipalCollection(principal, realmName);
|
|
|
|
+ subject.runAs(newPrincipalCollection);
|
|
return "redirect:/a/home";
|
|
return "redirect:/a/home";
|
|
}
|
|
}
|
|
return "modules/sys/userInfo";
|
|
return "modules/sys/userInfo";
|