【问题标题】:An error was encountered while processing the request from the application处理来自应用程序的请求时遇到错误
【发布时间】:2015-09-07 12:22:26
【问题描述】:

我们正在阻止问题标题中带有错误消息的弹出警报

处理来自 应用。

这个错误似乎出现了,因为我将一个新的.war 文件部署到 MF 运行时,然后我回滚了所有内容(在过去的两个月中,该应用程序运行得非常好,并且从未出现此错误)但它仍然仍然存在。

我做了什么:

1.该应用在我的本地 PC 的预览模式下运行良好;

2.在 iPhone 中,我只需将 MF 服务器连接 url 更改为我的本地 PC,它也可以正常工作(但与生产环境 url 连接时出错);

3.所有可能出现此错误的代码都回滚了,然后我重新部署了war文件,但仍然很糟糕;

4.google 并获取此页面:http://www-01.ibm.com/support/docview.wss?uid=swg1PM93835 但在我的情况下,application-descriptor.xml 没有任何变化

5. 与此人 (Worklight Authenticity, unknown challenge arrived, cannot process realm wl_deviceNoProvisioningRealm challenge) 收到相同的错误消息,但他所做的也没有解决我的错误。

Tommat相关错误日志:

Sep 07, 2015 8:17:41 PM com.worklight.core.auth.impl.LoginContext processRequest
SEVERE: FWLSE0059E: Login into realm 'wl_authenticityLoginModule' failed. Missing app authenticity configuration parameters. [project worklight]
com.worklight.gadgets.GadgetRuntimeException: Missing app authenticity configuration parameters
    at com.worklight.core.auth.ext.appauth.AuthenticityAuthenticatorImpl.processRequest(AuthenticityAuthenticatorImpl.java:24)
    at com.worklight.core.auth.ext.AuthenticityAuthenticator.processRequest(AuthenticityAuthenticator.java:79)
    at com.worklight.core.auth.impl.LoginContext.processRequest(LoginContext.java:209)
    at com.worklight.core.auth.impl.AuthenticationContext.checkAuthentication(AuthenticationContext.java:713)
    at com.worklight.core.auth.impl.AuthenticationContext.processRealms(AuthenticationContext.java:613)
    at com.worklight.core.auth.impl.AuthenticationContext.pushCurrentResource(AuthenticationContext.java:586)
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:75)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:501)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedure(DataAccessServiceImpl.java:155)
    at com.worklight.gadgets.serving.handler.BackendQueryHandler.getContent(BackendQueryHandler.java:95)
    at com.worklight.gadgets.serving.handler.BackendQueryHandler.doPost(BackendQueryHandler.java:56)
    at com.worklight.gadgets.serving.GadgetAPIServlet.doGetOrPost(GadgetAPIServlet.java:148)
    at com.worklight.gadgets.serving.GadgetAPIServlet.doPost(GadgetAPIServlet.java:108)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at com.worklight.core.auth.impl.AuthenticationFilter$1.execute(AuthenticationFilter.java:215)
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76)
    at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:220)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:271)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

Sep 07, 2015 8:17:41 PM com.worklight.core.auth.impl.LoginContext processRequest
SEVERE: FWLSE0117E: Error code: 4, error description: AUTHENTICATION_ERROR, error message: An error occurred while performing authentication using loginModule wl_authenticityLoginModule, User Identity {wl_directUpdateRealm=(name:null, loginModule:WLDirectUpdateNullLoginModule), SubscribeServlet=null, SingleStepAuthRealm=(name:1195, loginModule:AuthLoginModule), wl_authenticityRealm=null, wl_remoteDisableRealm=(name:null, loginModule:WLRemoteDisableNullLoginModule), SampleAppRealm=null, wl_antiXSRFRealm=(name:72v8umn1isngnia7hbccnhqs3u, loginModule:WLAntiXSRFLoginModule), wl_deviceAutoProvisioningRealm=null, wl_deviceNoProvisioningRealm=(name:BF8A1B93-0D28-4488-A2FB-226629FDA1C6, loginModule:WLDeviceNoProvisioningLoginModule), myserver=(name:1195, loginModule:AuthLoginModule), wl_anonymousUserRealm=(name:97a5962b-1262-4891-8d4a-43699388f91b, loginModule:WeakDummy)}. [project worklight] [project worklight]
Sep 07, 2015 8:17:41 PM com.worklight.core.auth.impl.LoginContext processRequest
SEVERE: FWLSE0059E: Login into realm 'wl_authenticityLoginModule' failed. Missing app authenticity configuration parameters. [project worklight]
com.worklight.gadgets.GadgetRuntimeException: Missing app authenticity configuration parameters
    at com.worklight.core.auth.ext.appauth.AuthenticityAuthenticatorImpl.processRequest(AuthenticityAuthenticatorImpl.java:24)
    at com.worklight.core.auth.ext.AuthenticityAuthenticator.processRequest(AuthenticityAuthenticator.java:79)
    at com.worklight.core.auth.impl.LoginContext.processRequest(LoginContext.java:209)
    at com.worklight.core.auth.impl.AuthenticationContext.checkAuthentication(AuthenticationContext.java:713)
    at com.worklight.core.auth.impl.AuthenticationContext.processRealms(AuthenticationContext.java:613)
    at com.worklight.core.auth.impl.AuthenticationContext.pushCurrentResource(AuthenticationContext.java:586)
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:75)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:501)
    at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedure(DataAccessServiceImpl.java:155)
    at com.worklight.gadgets.serving.handler.BackendQueryHandler.getContent(BackendQueryHandler.java:95)
    at com.worklight.gadgets.serving.handler.BackendQueryHandler.doPost(BackendQueryHandler.java:56)
    at com.worklight.gadgets.serving.GadgetAPIServlet.doGetOrPost(GadgetAPIServlet.java:148)
    at com.worklight.gadgets.serving.GadgetAPIServlet.doPost(GadgetAPIServlet.java:108)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at com.worklight.core.auth.impl.AuthenticationFilter$1.execute(AuthenticationFilter.java:215)
    at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76)
    at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:220)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:271)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

Sep 07, 2015 8:17:41 PM com.worklight.core.auth.impl.LoginContext processRequest
SEVERE: FWLSE0117E: Error code: 4, error description: AUTHENTICATION_ERROR, error message: An error occurred while performing authentication using loginModule wl_authenticityLoginModule, User Identity {wl_directUpdateRealm=(name:null, loginModule:WLDirectUpdateNullLoginModule), SubscribeServlet=null, SingleStepAuthRealm=(name:1195, loginModule:AuthLoginModule), wl_authenticityRealm=null, wl_remoteDisableRealm=(name:null, loginModule:WLRemoteDisableNullLoginModule), SampleAppRealm=null, wl_antiXSRFRealm=(name:72v8umn1isngnia7hbccnhqs3u, loginModule:WLAntiXSRFLoginModule), wl_deviceAutoProvisioningRealm=null, wl_deviceNoProvisioningRealm=(name:BF8A1B93-0D28-4488-A2FB-226629FDA1C6, loginModule:WLDeviceNoProvisioningLoginModule), myserver=(name:1195, loginModule:AuthLoginModule), wl_anonymousUserRealm=(name:97a5962b-1262-4891-8d4a-43699388f91b, loginModule:WeakDummy)}. [project worklight] [project worklight]

authenticationConfig.xml 文件的某些部分(事实上,自两个月前以来,此文件中没有任何变化):

*** ***
    <customSecurityTest name="SingleStepAuthAdapter-securityTest">
        <test realm="wl_antiXSRFRealm" step="1"/>
        <test realm="wl_authenticityRealm" step="1"/>
        <test realm="wl_remoteDisableRealm" step="1"/>
        <test isInternalUserID="true" realm="SingleStepAuthRealm"  step="2"/>
    </customSecurityTest>   

</securityTests> 

<realms>
    <realm loginModule="AuthLoginModule" name="SingleStepAuthRealm">
        <className>com.worklight.integration.auth.AdapterAuthenticator</className>
        <parameter name="login-function" value="LoginHTTPAdapter.onAuthRequired"/>
        <parameter name="logout-function" value="LoginHTTPAdapter.onLogout"/>
    </realm>
    <realm name="SampleAppRealm" loginModule="StrongDummy">
        <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
    </realm>
*** ***

【问题讨论】:

    标签: authentication ibm-mobilefirst worklight-security


    【解决方案1】:

    根据错误日志,从authenticationConfig.xml 中删除wl_authenticityRealm 使其正常工作。

    【讨论】:

      【解决方案2】:

      错误消息与应用程序真实性保护功能有关。
      如果应用程序在尝试连接到 MobileFirst Server 后未能正确响应发送给它的真实性质询,则会发生此故障。

      您必须确保按照以下教程中提供的说明正确配置了服务器和应用程序:https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-1/foundation/authentication-security/application-authenticity-protection/

      按照说明操作后,必须将更新后的 .war 文件部署到服务器。

      在开发环境中,这无关紧要 - 应用程序真实性保护仅在远程服务器(QA/UAT/Production 等)中可用,而在 Eclipse 的开发服务器中不可用。

      这是您唯一的行动方案。您必须确保已正确配置,然后将更新后的 .war、.wlapp 部署到服务器,并将应用程序部署到设备。

      【讨论】:

      • IMO 要正确配置应用程序真实性保护我唯一能做的就是正确编辑authenticationConfig.xml,至少在文件级别,对吧?自错误发生以来,其他配置文件没有任何变化。
      • 我不确定你指的是什么。 authenticationConfig.xml 是在构建后插入到 .war 文件中的文件。如果更改此文件,则必须重新部署 .war 文件;在此文件中,您可以添加或删除真实性安全测试。但这还不够,您还需要按照教程配置 application-descriptor.xml。这些更改也是 .war 文件的一部分。您必须重新部署。
      猜你喜欢
      • 2014-07-24
      • 2018-04-30
      • 2021-06-02
      • 2016-01-02
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多