|
@@ -5,14 +5,13 @@ import java.util.Date;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
+import com.uas.eis.entity.ErrorMsg;
|
|
|
+import com.uas.eis.exception.SystemException;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.servlet.HandlerInterceptor;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
import com.uas.eis.service.QueryService;
|
|
|
-import com.uas.eis.dao.BaseDao;
|
|
|
-import com.uas.eis.utils.BaseUtil;
|
|
|
-
|
|
|
import io.jsonwebtoken.Claims;
|
|
|
|
|
|
public class LoginInterceptor implements HandlerInterceptor{
|
|
@@ -21,7 +20,7 @@ public class LoginInterceptor implements HandlerInterceptor{
|
|
|
private QueryService userService;
|
|
|
|
|
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
|
|
- String token = (String) request.getSession().getAttribute("token");
|
|
|
+ String token = request.getParameter("token");
|
|
|
Claims claims = parseToken(token);
|
|
|
String username = (String) claims.get("username");
|
|
|
String password = (String) claims.get("password");
|
|
@@ -41,13 +40,11 @@ public class LoginInterceptor implements HandlerInterceptor{
|
|
|
|
|
|
private Claims parseToken(String token) {
|
|
|
if(token == null || token.isEmpty()) {
|
|
|
- BaseUtil.showError("缺失token", "NULL_TOKEN");
|
|
|
- return null;
|
|
|
+ throw new SystemException(ErrorMsg.NULL_TOKEN);
|
|
|
}
|
|
|
Claims claims = TokenHandler.parseToken(token);
|
|
|
if(claims == null) {
|
|
|
- BaseUtil.showError("无效的token", "INVALID_TOKEN");
|
|
|
- return null;
|
|
|
+ throw new SystemException(ErrorMsg.INVALID_TOKEN);
|
|
|
}
|
|
|
Date now = new Date();
|
|
|
Date start = claims.getNotBefore();
|
|
@@ -56,8 +53,7 @@ public class LoginInterceptor implements HandlerInterceptor{
|
|
|
if (now.after(start) && now.before(end)) {
|
|
|
return claims;
|
|
|
}else {
|
|
|
- BaseUtil.showError("已过期的token", "OVERDUE_TOKEN");
|
|
|
- return null;
|
|
|
+ throw new SystemException(ErrorMsg.EXPIRED_TOKEN);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -67,7 +63,7 @@ public class LoginInterceptor implements HandlerInterceptor{
|
|
|
enable = userService.checkUser(username, password);
|
|
|
}
|
|
|
if(!enable) {
|
|
|
- BaseUtil.showError("无效用户", "INVALID_USER");
|
|
|
+ throw new SystemException(ErrorMsg.INVALID_USER);
|
|
|
}
|
|
|
return enable;
|
|
|
}
|
|
@@ -75,7 +71,7 @@ public class LoginInterceptor implements HandlerInterceptor{
|
|
|
private boolean checkActionAccess(String username, String action) {
|
|
|
boolean enable = userService.checkAction(username, action);
|
|
|
if(!enable) {
|
|
|
- BaseUtil.showError("受限的接口请求", "PERMISSION_DENIED_ACTION");
|
|
|
+ throw new SystemException(ErrorMsg.PERMISSION_DENIED_REQUEST);
|
|
|
}
|
|
|
return enable;
|
|
|
}
|