小弟今日在本地联调一个应用 请求另一个应用,非常顺利,但已放到sit环境就不行了。百思不得姐呀。
这可不行。放大招!查日志
这一查才知道http请求居然报302 错误 ,可是为啥呢。两个应用虽然在不同的tomcat下,但都在一个服务器中呢。
后台切换分支到sit上 本地启动也不能访问,邪门了。放终极大招。重头查器。终于在web.xml中找到了蛛丝马迹,这个应用居然引用了CAS
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<!-- <filter-class>
org.jasig.cas.client.authentication.AuthenticationFilter
</filter-class> -->
<filter-class>
com.esoft.core.filter.AuthenticationFilter
</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>
http://127.0.0.1:7070/cas/login
</param-value>
</init-param>
<!-- <init-param>
<param-name>ignorePattern</param-name>
<param-value>/createLoan*|/loginIn*|/handleAfterInvestSaleLoan*|/organizationCompen*|/repayThaw*</param-value>
</init-param> -->
<init-param>
<param-name>excludePaths</param-name>
<param-value>createLoan,loginIn,handleAfterInvestSaleLoan,organizationCompen,repayThaw,repayNotFreeze,createLoanAndInvestBill,allBillResultFileDownloadByTodayStr,billDetailResultFileDownloadByTodayStr,bankAllBillDownload,initEnterpriseCallback,insertEnterpriseNotify,aduitEnterpriseFinalNotify,enterpriseBindBankCardNotify,userBalance,hBank</param-value>
</init-param>
<init-param>
<param-name>renew</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>gateway</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://127.0.0.1:7070</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>http://127.0.0.1:7070/cas</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://127.0.0.1:7070</param-value>
</init-param>
<init-param>
<param-name>useSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<description>不拦截的请求(以逗号分隔,只要包含其中一个就不过滤)</description>
<param-name>excludePaths</param-name>
<param-value>createLoan,loginIn</param-value>
</init-param>
<init-param>
<param-name>redirectAfterValidation</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>
org.jasig.cas.client.util.HttpServletRequestWrapperFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>
org.jasig.cas.client.util.AssertionThreadLocalFilter
</filter-class>
</filter>
重点是这句:
这里配置了可以访问的URL字段。导致新增的接口无法通过CAS验证。。。
具体CAS配置 详情请见http://blog.csdn.net/cb2474600377/article/details/50820133。