AntPathMatcher做路径匹配
转发自: http://www.cnblogs.com/leftthen/p/5212221.html
需要看详细的请看上面的链接
这里以我这里的一个Filter 中需要对路径做例外处理,filter配置如下
<bean id="adminOnlineUserFilter" class="com.midea.finance.framework.authority.filter.AdminOnlineUserFilter"> <property name="mdpOnllineUserService" ref="mdpOnllineUserDubboServiceClient"></property> <property name="logoutLink" value="${mdp.security.loginOutUrl}"></property> <property name="sysFlag" value="${bizSys}"></property> <property name="passedPaths"> <list> <value>/resources/**</value> </list> </property> </bean>
这里的
passedPaths 是例外配置的路径,接收为一个 Stirng []
对例外的处理
String requestPath = req.getServletPath();
// 路径过滤
PathMatcher matcher = new AntPathMatcher();
if( passedPaths != null ) {
boolean flag;
for( String passedPath : passedPaths ) {
flag = matcher.match( passedPath, requestPath );
if( flag ) {
logger.info( "AdminOnlineUserFilter source '" + requestPath + "'is matched,filter chain will be continued." );
chain.doFilter( request, response );
return;
}
}
}