|
|
|
@ -19,6 +19,7 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
|
|
|
|
import org.apache.shiro.authc.AuthenticationException;
|
|
|
|
|
import org.apache.shiro.authc.AuthenticationToken;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
@ -71,33 +72,38 @@ public class SysUserService implements ISysUserService {
|
|
|
|
|
private RefUserPositionRepository refUserPositionRDao;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public SessionUser queryUserLogin(String loginName, String password, String languageCode) {
|
|
|
|
|
public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException {
|
|
|
|
|
LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode);
|
|
|
|
|
|
|
|
|
|
SysUser user = getSysUserByLoginName(loginName);
|
|
|
|
|
|
|
|
|
|
if(user == null){
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.LOGIN_USER_NAME_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("用户名不存在")
|
|
|
|
|
.setErrorSolution("请重新输入用户名")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AuthenticationToken token = null;
|
|
|
|
|
switch (user.getUserTypeId()) {
|
|
|
|
|
case 2:
|
|
|
|
|
token = new AdminToken(loginName, password, languageCode);
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
token = new SaAdminToken(loginName, password, languageCode);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
token = new UserToken(loginName, password, languageCode);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// SysUser user = this.getSysUserByLoginName(loginName);
|
|
|
|
|
//
|
|
|
|
|
// if(user == null){
|
|
|
|
|
// throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
// .setErrorCode(ImppExceptionEnum.LOGIN_USER_NAME_EXCEPTION.getCode())
|
|
|
|
|
// .setErrorDetail("用户名不存在")
|
|
|
|
|
// .setErrorSolution("请重新输入用户名")
|
|
|
|
|
// .build();
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// AuthenticationToken token = null;
|
|
|
|
|
// switch (user.getUserTypeId()) {
|
|
|
|
|
// case 2:
|
|
|
|
|
// token = new AdminToken(loginName, password, languageCode);
|
|
|
|
|
// break;
|
|
|
|
|
// case 3:
|
|
|
|
|
// token = new SaAdminToken(loginName, password, languageCode);
|
|
|
|
|
// break;
|
|
|
|
|
// default:
|
|
|
|
|
// token = new UserToken(loginName, password, languageCode);
|
|
|
|
|
// break;
|
|
|
|
|
// }
|
|
|
|
|
// SessionUser sessionUser = AuthUtil.login(token);
|
|
|
|
|
|
|
|
|
|
UserToken token = new UserToken(loginName,password,languageCode);
|
|
|
|
|
System.out.println("=============" + token);
|
|
|
|
|
SessionUser sessionUser = AuthUtil.login(token);
|
|
|
|
|
SysUser user = this.getSysUserByLoginName(loginName);
|
|
|
|
|
|
|
|
|
|
packSessionUser(sessionUser, user, user.getUserTypeId(), languageCode);
|
|
|
|
|
AuthUtil.setSessionUser(sessionUser);
|
|
|
|
|