weblogic 访问返回401-Unauthorized

当Weblogic服务器对包含http基本认证头的请求进行验证时,可能会导致401未授权错误。为了解决这个问题,可以通过修改domain下的config.xml文件,在security-configuration节点内添加特定配置来禁用Weblogic的认证机制。具体解决方案参考链接:http://blog.chinaunix.net/xmlrpc.php?=blog/article&uid=24648266&id=5732277。
```
0HTTP/1.1 401 Unauthorized
Connection: Keep-Alive
Date: Mon, 11 Sep 2017 09:37:51 GMT
Content-Length: 1468
Content-Type: text/html; charset=UTF-8
WWW-Authenticate: Basic realm="WebLogic Server"
X-Powered-By: Servlet/2.5 JSP/2.1

原因是,weblogic默认会对包含http basic认证头的请求进行验证(weblogic自己的验证),
也就是说,发给应用程序用的认证信息被weblogic拦截了。

要禁用weblogin的认证,可以编辑domain下的config.xml,
在security-configuration节点内,增加下面一句话。

<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>

查考:
http://blog.chinaunix.net/xmlrpc.php?=blog/article&uid=24648266&id=5732277

2025-10-24 10:45:48.150 ERROR 25365 --- [[ACTIVE] ExecuteThread: '43' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:48.158 ERROR 25365 --- [[ACTIVE] ExecuteThread: '76' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:48.184 ERROR 25365 --- [[ACTIVE] ExecuteThread: '104' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:48.319 ERROR 25365 --- [[ACTIVE] ExecuteThread: '29' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:48.469 ERROR 25365 --- [[ACTIVE] ExecuteThread: '76' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:48.520 ERROR 25365 --- [[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'] o.s.b.w.servlet.support.ErrorPageFilter : Cannot forward to error page for request [/coa/coaSignOffPage] as the response has already been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: ==> Session["_USER_COMPANY_"] [in template "layout/jsPlugins.ftl" at line 66, column 45] ---- Tip: It's the final [] step that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${Session["_USER_COMPANY_"].companyCo... [in template "layout/jsPlugins.ftl" at line 66, column 43] - Reached through: #include "jsPlugins.ftl" [in template "layout/layout.ftl" in macro "sectionBody" at line 39, column 1] - Reached through: @sectionBody [in template "error/500.ftl" at line 7, column 1] ---- at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.UnexpectedTypeException.newDescriptionBuilder(UnexpectedTypeException.java:85) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:48) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.NonHashException.<init>(NonHashException.java:49) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Dot._eval(Dot.java:48) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Expression.eval(Expression.java:101) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.BuiltInsForExistenceHandling$ExistenceBuiltIn.evalMaybeNonexistentTarget(BuiltInsForExistenceHandling.java:52) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.BuiltInsForExistenceHandling$if_existsBI._eval(BuiltInsForExistenceHandling.java:129) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Expression.eval(Expression.java:101) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.DollarVariable.accept(DollarVariable.java:63) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:334) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:340) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.include(Environment.java:2925) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Include.accept(Include.java:171) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:370) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:876) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.invokeMacro(Environment.java:812) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:334) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:340) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.process(Environment.java:313) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.template.Template.process(Template.java:383) ~[freemarker-2.3.30.jar:2.3.30] at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:391) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:304) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:255) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:179) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1373) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1118) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet.javax.servlet-api.jar:3.1.0] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.2.6.RELEASE.jar:5.2.6.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet.javax.servlet-api.jar:3.1.0] at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:295) ~[com.oracle.weblogic.servlet.jar:12.2.1.4] at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260) ~[com.oracle.weblogic.servlet.jar:12.2.1.4] at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137) ~[com.oracle.weblogic.servlet.jar:12.2.1.4] at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:353) ~[com.oracle.weblogic.servlet.jar:12.2.1.4] at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) ~[com.oracle.weblogic.servlet.jar:12.2.1.4] at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.4] at com.oda.group.apps.weaver.sso.filter.LoginFilter.doFilter(LoginFilter.java:122) ~[framework-weaver-3.0.0-SNAPSHOT.jar:3.0.0-SNAPSHOT] at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.4] at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123) ~[druid-1.1.10.jar:1.1.10] at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.4] at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:50) ~[cas-client-core-3.4.1.jar:3.4.1] at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.4] at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:71) ~[cas-client-core-3.4.1.jar:3.4.1] at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.4] at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:155) ~[cas-client-core-3.4.1.jar:3.4.1] at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.4] at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:236) ~[cas-client-core-3.4.1.jar:3.4.1] at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) [com.oracle.weblogic.servlet.jar:12.2.1.4] 会导致 调用analyseXml为null吗
10-25
2025-10-24 10:45:31.346 INFO 25365 --- [[ACTIVE] ExecuteThread: '65' for queue: 'weblogic.kernel.Default (self-tuning)'] com.smec.apps.coa.sap.SAPInterface : call method ZIF_SBS_GET_DROPDOWN,call success 2025-10-24 10:45:31.356 INFO 25365 --- [[ACTIVE] ExecuteThread: '65' for queue: 'weblogic.kernel.Default (self-tuning)'] c.s.a.c.s.impl.CoaVendorServiceImpl : sapGetDropDown listMaterialGroupFromSap Message:Get Material Group successful. 2025-10-24 10:45:35.255 INFO 25365 --- [[ACTIVE] ExecuteThread: '67' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 请求耗时 : 8636 2025-10-24 10:45:35.353 INFO 25365 --- [[ACTIVE] ExecuteThread: '72' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 请求耗时 : 8734 2025-10-24 10:45:42.005 INFO 25365 --- [[ACTIVE] ExecuteThread: '72' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.weaver.sso.filter.LoginFilter : ^_^ logout url: http://sbssso.smecs.com:8082/cas/logout?service=http://sbsfn.smecs.com/coa 2025-10-24 10:45:42.635 ERROR 25365 --- [[ACTIVE] ExecuteThread: '44' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:42.655 ERROR 25365 --- [[ACTIVE] ExecuteThread: '112' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:43.478 ERROR 25365 --- [[ACTIVE] ExecuteThread: '66' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:43.701 ERROR 25365 --- [[ACTIVE] ExecuteThread: '96' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:45.774 ERROR 25365 --- [[ACTIVE] ExecuteThread: '66' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:45.775 ERROR 25365 --- [[ACTIVE] ExecuteThread: '96' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:45.785 ERROR 25365 --- [[ACTIVE] ExecuteThread: '44' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:45.788 ERROR 25365 --- [[ACTIVE] ExecuteThread: '112' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:46.123 ERROR 25365 --- [[ACTIVE] ExecuteThread: '38' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:46.173 ERROR 25365 --- [[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:46.610 ERROR 25365 --- [[ACTIVE] ExecuteThread: '38' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:46.827 ERROR 25365 --- [[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:46.952 ERROR 25365 --- [[ACTIVE] ExecuteThread: '50' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:47.236 ERROR 25365 --- [[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:47.331 ERROR 25365 --- [[ACTIVE] ExecuteThread: '50' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.g.a.c.c.e.Error500Controller : 捕获到错误: NullPointerException: null 2025-10-24 10:45:47.692 ERROR 25365 --- [[ACTIVE] ExecuteThread: '43' for queue: 'weblogic.kernel.Default (self-tuning)'] c.o.group.apps.core.aop.ConsolePrintAop : 抛出异常 : null 2025-10-24 10:45:47.840 ERROR 25365 --- [[ACTIVE] ExecuteThread: '66' for queue: 'weblogic.kernel.Default (self-tuning)'] o.s.b.w.servlet.support.ErrorPageFilter : Cannot forward to error page for request [/coa/coaSignOffPage] as the response has already been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false freemarker.core.InvalidReferenceException: The following has evaluated to null or missing: ==> Session["_USER_COMPANY_"] [in template "layout/jsPlugins.ftl" at line 66, column 45] ---- Tip: It's the final [] step that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${Session["_USER_COMPANY_"].companyCo... [in template "layout/jsPlugins.ftl" at line 66, column 43] - Reached through: #include "jsPlugins.ftl" [in template "layout/layout.ftl" in macro "sectionBody" at line 39, column 1] - Reached through: @sectionBody [in template "error/500.ftl" at line 7, column 1] ---- at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.UnexpectedTypeException.newDescriptionBuilder(UnexpectedTypeException.java:85) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:48) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.NonHashException.<init>(NonHashException.java:49) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Dot._eval(Dot.java:48) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Expression.eval(Expression.java:101) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.BuiltInsForExistenceHandling$ExistenceBuiltIn.evalMaybeNonexistentTarget(BuiltInsForExistenceHandling.java:52) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.BuiltInsForExistenceHandling$if_existsBI._eval(BuiltInsForExistenceHandling.java:129) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Expression.eval(Expression.java:101) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.DollarVariable.accept(DollarVariable.java:63) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:334) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:340) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.include(Environment.java:2925) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Include.accept(Include.java:171) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:370) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:876) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.invokeMacro(Environment.java:812) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:334) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.visit(Environment.java:340) ~[freemarker-2.3.30.jar:2.3.30] at freemarker.core.Environment.process(Environment.java:313) ~[freemarker-2.3.30.j 啥错
10-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值