实现登录AOP
This commit is contained in:
@@ -0,0 +1,58 @@
|
|||||||
|
package top.fjy8018.fileupload.aspect;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.aspectj.lang.annotation.Aspect;
|
||||||
|
import org.aspectj.lang.annotation.Before;
|
||||||
|
import org.aspectj.lang.annotation.Pointcut;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.context.request.RequestContextHolder;
|
||||||
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||||
|
import top.fjy8018.fileupload.constant.GlobalConstant;
|
||||||
|
import top.fjy8018.fileupload.dataobject.User;
|
||||||
|
import top.fjy8018.fileupload.dataobject.view.UserPermission;
|
||||||
|
import top.fjy8018.fileupload.enums.PercodeEnum;
|
||||||
|
import top.fjy8018.fileupload.enums.ResultVOEnum;
|
||||||
|
import top.fjy8018.fileupload.exception.FileUploadException;
|
||||||
|
import top.fjy8018.fileupload.form.LoginForm;
|
||||||
|
import top.fjy8018.fileupload.service.UserService;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author F嘉阳
|
||||||
|
* @date 2018-06-23 20:03
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Aspect
|
||||||
|
@Component
|
||||||
|
public class LoginAuthorizeAspect {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserService userService;
|
||||||
|
|
||||||
|
@Pointcut("execution(public * top.fjy8018.fileupload.controller.LoginController.doLogin(..))")
|
||||||
|
public void verify(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Before("verify()")
|
||||||
|
public String doVerify(){
|
||||||
|
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||||
|
HttpServletRequest request = attributes.getRequest();
|
||||||
|
String userName = request.getParameter("userName");
|
||||||
|
|
||||||
|
UserPermission userPermission = userService.findPermissionByUserName(userName);
|
||||||
|
if (userPermission==null){
|
||||||
|
throw new FileUploadException(ResultVOEnum.USER_NOT_EXIST);
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] percodes = userPermission.getPercode().split(":");
|
||||||
|
|
||||||
|
if (!percodes[1].equals(PercodeEnum.LOG_OUT.getMsg())){
|
||||||
|
log.warn("【禁止登录】用户:{}",userName);
|
||||||
|
return "index.html";
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@ import lombok.Getter;
|
|||||||
@Getter
|
@Getter
|
||||||
public enum PercodeEnum implements CodeEnum{
|
public enum PercodeEnum implements CodeEnum{
|
||||||
FILE_UPLOAD(3,"upload"),
|
FILE_UPLOAD(3,"upload"),
|
||||||
|
LOG_OUT(4,"login")
|
||||||
;
|
;
|
||||||
|
|
||||||
private Integer code;
|
private Integer code;
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ public enum ResultVOEnum implements CodeEnum {
|
|||||||
UPLOAD_FAIL(-1,"上传失败"),
|
UPLOAD_FAIL(-1,"上传失败"),
|
||||||
FORBIDDEN_ACCES(1,"没有访问权限"),
|
FORBIDDEN_ACCES(1,"没有访问权限"),
|
||||||
LOG_OUT(2,"未登录"),
|
LOG_OUT(2,"未登录"),
|
||||||
|
USER_NOT_EXIST(3,"用户不存在"),
|
||||||
;
|
;
|
||||||
|
|
||||||
private Integer code;
|
private Integer code;
|
||||||
|
|||||||
Reference in New Issue
Block a user