Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

调整设置用户上下文的时机,不判断是否开启登录框,只要实现getUserByToken就写入用户上下文 #53

Merged
merged 5 commits into from
Aug 25, 2022
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Optional;

/**
* /magic/web相关接口的拦截器
Expand Down Expand Up @@ -38,10 +39,10 @@ public boolean preHandle(HttpServletRequest request, HttpServletResponse respons
magicCorsFilter.process(request, response);
}
Valid valid = handlerMethod.getMethodAnnotation(Valid.class);
boolean requiredLogin = authorizationInterceptor.requireLogin();
boolean validRequiredLogin = (valid == null || valid.requireLogin());
if (requiredLogin && validRequiredLogin) {
request.setAttribute(Constants.ATTRIBUTE_MAGIC_USER, authorizationInterceptor.getUserByToken(request.getHeader(Constants.MAGIC_TOKEN_HEADER)));
if (validRequiredLogin) {
Optional.ofNullable(authorizationInterceptor.getUserByToken(request.getHeader(Constants.MAGIC_TOKEN_HEADER)))
.ifPresent(it -> request.setAttribute(Constants.ATTRIBUTE_MAGIC_USER, it));
}
((MagicController) handler).doValid(request, valid);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public DialectAdapter() {
add(new SQLServerDialect());
add(new SQLServer2005Dialect());
add(new DmDialect());
add(new ImpalaDialect());
add(new KingbaseSQLDialect());
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.ssssssss.magicapi.modules.db.dialect;

import org.ssssssss.magicapi.modules.db.BoundSql;

/**
* @author YuePeng
* date 2022/4/22 00:10
*/
public class ImpalaDialect implements Dialect {

@Override
public boolean match(String jdbcUrl) {
return jdbcUrl.contains(":impala:");
}

@Override
public String getPageSql(String sql, BoundSql boundSql, long offset, long limit) {
boundSql.addParameter(limit);
boundSql.addParameter(offset);
return sql + " order by null limit ? offset ?";
}
}