@Override
public void doFilter(final ServletRequest request, final ServletResponse response,
final FilterChain chain) throws IOException, ServletException {
if (request instanceof HttpServletRequest) {
final HttpServletRequest req = ((HttpServletRequest) request);
final HttpServletResponse res = ((HttpServletResponse) response);
final String header = req.getHeader(SimpleAuth.HTTP_HEADER);
if (header != null) {
final String[] sp = header.split(" ");
// Authentication: torch TOKEN
if (sp.length == 2) {
final String scheme = sp[0], param = sp[1];
if (SimpleAuth.SCHEME.equals(scheme)) {
if (sa.verify(param)) {
chain.doFilter(request, response);
return;
}
}
}
}
if (!res.isCommitted()) {
final String err = "FORBIDDEN\r\n";
res.reset();
res.setStatus(HttpServletResponse.SC_FORBIDDEN);
res.setContentLength(err.length());
res.setContentType("text/plain");
res.setCharacterEncoding("ISO-8859-1");
res.setHeader("Pragma", "no-cache");
res.setHeader("Cache-Control", "private, no-cache, no-store, must-revalidate");
res.setHeader(getClass().getSimpleName(), "deny");
res.getWriter().print(err);
return;
}
}
if (!response.isCommitted()) {
response.reset();
}
throw new ServletException(new UnsupportedOperationException());
}
SimpleAuthFilter.java 文件源码
java
阅读 31
收藏 0
点赞 0
评论 0
项目:simpleauth
作者:
评论列表
文章目录