您好,登錄后才能下訂單哦!
在spring boot 配置servlet filter 邏輯上與配置spring 是一樣的。 不過相比spring 更加簡化配置的難度。 這里只需要兩步
1 創建一個自定義顧慮器并繼承spring filter 例如OncePerRequestFilter
public class AuthenticationFilter extends OncePerRequestFilter{ private final Logger logger=LoggerFactory.getLogger(this.getClass()); @Override protected void doFilterInternal(HttpServletRequest req, HttpServletResponse resp, FilterChain chain) throws ServletException, IOException { //code for filtering chain.doFilter(req, resp); } }
注: 這里我使用的是OncePerRequestFilter,目的是為了保證每次request 只觸發一次filter
2 在spring boot配置filter。 相當于在web.xml 配置<filter></filter> 和filter mapping url pattern
@Configuration public class StarsFilterConfiguration { /*FilterRegistrationBean 用來配置urlpattern 來確定哪些路徑觸發filter */ @Bean public FilterRegistrationBean someFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(AuthFilter()); registration.addUrlPatterns("/api/rest/*"); registration.setOrder(1); return registration; } /*使用annotation tag來取代<bean></bean>*/ @Bean() public Filter AuthFilter() { return new AuthenticationFilter(); } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。