2016-04-21 54 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

測試