actionParam = DEFAULT_ACTION_PARAM_NAME;
}
}
public void invoke(PipelineContext pipelineContext) throws Exception {
TurbineRunData rundata = getTurbineRunData(request);
// TODO 走 api 的验证
if (isAPI(rundata)) {
if (apiAuthService.auth(rundata)) {
pipelineContext.invokeNext();
} else {
redirect(pipelineContext, rundata, forbiddenLink); // TODO 需要转跳到 json 格式的 link
}
return;
}
// 得到请求URL相对路径(不包含域名/端口信息)
String requestUrl = rundata.getRequest().getRequestURI();
List<AuthorizeType> result = urlAnalyze.check(requestUrl);
String action = StringUtil.toCamelCase(trimToNull(rundata.getParameters().getString(actionParam)));
String eventName = getEventName();
// 首先判断是否登录
User user = (User) rundata.getRequest().getSession().getAttribute(WebConstant.USER_SESSION_KEY);
if (StringUtils.isNotEmpty(action)) {
result.addAll(urlAnalyze.check(action, eventName));
}