2016-04-21 30 views
1

我有一个在Grails服务器上运行的Groovy代码。我如何配置它为HSTS?我查看了Groovy规范,没有发现任何有用的东西。如何将strict-transport-security头添加到Grails应用程序

这是我想达到

当我看到来自服务器的任何HTTP响应什么。我必须看到如下的标题

Strict-Transport-Security: max-age=31536000 

你可以请建议一些指针吗?

回答

0

我建议实现自定义Servlet过滤器,这样的事情:

@Priority(Integer.MIN_VALUE) 
public class HstsFilter extends OncePerRequestFilter { 

    public HstsFilter() { 
    } 

    @Override 
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { 
     filterChain.doFilter(request, response); 
     response.addHeader("Strict-Transport-Security", "max-age=31536000"); 
    } 
} 

,那么你需要在resources.groovy注册它:

beans = { 
    hstsFilter(HstsFilter) 
} 

这个代码是在Grails的3.1.4

测试