package com.mlongbo.jfinal.interceptor; import com.jfinal.aop.Interceptor; import com.jfinal.core.ActionInvocation; import com.jfinal.core.Controller; import com.mlongbo.jfinal.common.bean.BaseResponse; import com.mlongbo.jfinal.common.bean.Code; import com.mlongbo.jfinal.common.token.TokenManager; import com.mlongbo.jfinal.common.utils.StringUtils; import com.mlongbo.jfinal.model.User; /** * Token拦截器 * @author malongbo * @date 15-1-18 * @package com.pet.project.interceptor */ public class TokenInterceptor implements Interceptor { @Override public void intercept(ActionInvocation ai) { Controller controller = ai.getController(); String token = controller.getPara("token"); if (StringUtils.isEmpty(token)) { controller.renderJson(new BaseResponse(Code.ARGUMENT_ERROR, "token can not be null")); return; } User user = TokenManager.getMe().validate(token); if (user == null) { controller.renderJson(new BaseResponse(Code.TOKEN_INVALID, "token is invalid")); return; } controller.setAttr("user", user); ai.invoke(); } }