用户权限调整

yun-zuoyi
wei.peng 6 years ago
parent 4b10421349
commit bd08a64e27

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.shirotoken.BaseToken;
import cn.estsh.i3plus.pojo.platform.bean.*;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authc.AuthenticationException;
@ -27,6 +28,9 @@ public interface ISysUserService {
@ApiOperation(value = "账号登录",notes = "普通账号登录功能")
SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform) throws AuthenticationException;
@ApiOperation(value = "获取Token",notes = "根据登录名判断是否是管理员")
BaseToken getToken(String loginName, String password, String languageCode,Integer loginPlatform);
/**
*
* @param id

@ -15,6 +15,9 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.BaseToken;
import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
@ -106,7 +109,7 @@ public class SysUserService implements ISysUserService {
public SessionUser queryUserLogin(String loginName, String password, String languageCode,Integer loginPlatform) throws AuthenticationException {
LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode);
UserToken token = new UserToken(loginName,password,languageCode,loginPlatform);
BaseToken token = getToken(loginName, password, languageCode, loginPlatform);
SessionUser sessionUser = AuthUtil.login(token);
SysUser user = this.getSysUserByLoginName(loginName);
@ -121,6 +124,22 @@ public class SysUserService implements ISysUserService {
}
@Override
public BaseToken getToken(String loginName, String password, String languageCode, Integer loginPlatform) {
SysUser user = this.getSysUserByLoginName(loginName);
if(user != null){
if(user.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN.getValue())){
return new AdminToken(loginName,password,languageCode,loginPlatform);
}else if(user.getUserType().equals(CommonEnumUtil.USER_TYPE.SA.getValue())){
return new SaAdminToken(loginName,password,languageCode,loginPlatform);
}else {
return new UserToken(loginName,password,languageCode,loginPlatform);
}
}else {
throw new CredentialsException("用户不存在");
}
}
@Override
@ApiOperation(value = "修改账号", notes = "修改账号状态")
public void updateSysUserStatus(Long id, int status, SessionUser user) {
LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName());
@ -405,6 +424,7 @@ public class SysUserService implements ISysUserService {
@ApiOperation(value = "账号查询", notes = "根据登录名查询用户信息")
public SysUser getSysUserByLoginName(String loginName) {
LOGGER.debug("平台用户 SYS_USER find By Login Name :{}", loginName);
return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"},
new Object[]{loginName, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
}
@ -555,7 +575,7 @@ public class SysUserService implements ISysUserService {
sessionUser.setUserId(userInfo.getId());
sessionUser.setUserInfo(userInfo);
sessionUser.setUserType(CommonEnumUtil.USER_TYPE.valueOf(userType));
// sessionUser.setUserType(CommonEnumUtil.USER_TYPE.valueOf(userType));
sessionUser.setLanguageCode(languageCode);
sessionUser.setUser(user);

Loading…
Cancel
Save