0

在通過服務器配置工具部署新戰爭後出現此錯誤。我試圖恢復到原來的戰爭錯誤持續。部署新戰爭後應用程序工作臺控制檯無法工作

的Tomcat 7.0.30 工作燈服務器6.1.0.2

javax.servlet.ServletException: Worklight Console initialization failed.Logged Exception:  java.lang.RuntimeException: conf/authenticationConfig.xml contains duplicated realm named: wl_anonymousUserRealm 
    com.worklight.core.auth.impl.AuthenticationFilter.verifyServletInitialized(AuthenticationFilter.java:317) 
    com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:111) 

的XML默認情況下,我的境界在context.xml中的服務器定義的建造。下面

<!-- Licensed Materials - Property of IBM 
     5725-G92 (C) Copyright IBM Corp. 2006, 2013. All Rights Reserved. 
     US Government Users Restricted Rights - Use, duplication or 
     disclosure restricted by GSA ADP Schedule Contract with IBM Corp. --> 

<!-- Uncomment the next element to protect the worklight console and the first section in securityTests below. --> 
<staticResources> 
<!-- <resource id="worklightConsole" securityTest="WorklightConsole"> 
     <urlPatterns>/console*</urlPatterns> 
    </resource> 
    --> 
    <resource id="subscribeServlet" securityTest="SubscribeServlet"> 
     <urlPatterns>/subscribeSMS*</urlPatterns> 
    </resource> 
</staticResources> 
測試,元件必須被添加到應用程序的descriptor.xml爲好。 - >
<securityTests> 
    <!-- 
    <customSecurityTest name="WorklightConsole"> 
     <test realm="WorklightConsole" isInternalUserID="true"/> 
    </customSecurityTest> 

    <mobileSecurityTest name="mobileTests"> 
     <testAppAuthenticity/> 
     <testDeviceId provisioningType="none" /> 
     <testUser realm="myMobileLoginForm" /> 
    </mobileSecurityTest> 

    <webSecurityTest name="webTests"> 
     <testUser realm="myWebLoginForm"/> 
    </webSecurityTest> 

    <customSecurityTest name="customTests"> 
     <test realm="wl_antiXSRFRealm" step="1"/> 
     <test realm="wl_authenticityRealm" step="1"/> 
     <test realm="wl_remoteDisableRealm" step="1"/> 
     <test realm="wl_anonymousUserRealm" isInternalUserID="true" step="1"/> 
     <test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="2"/> 
    </customSecurityTest> 
    --> 
    <customSecurityTest name="SubscribeServlet"> 
     <test isInternalUserID="true" realm="SubscribeServlet"/> 
    </customSecurityTest> 


    <customSecurityTest name="AgentSecurityTest"> 
     <test isInternalUserID="true" realm="FbitnAgentRealm"/> 
    </customSecurityTest> 

</securityTests> 

<realms> 
    <!--realm name="ConsumerRealm" loginModule="AnonymousLoginModule" > 
     <className>com.worklight.integration.auth.AdapterAuthenticator</className> 
     <parameter name="login-function" value="ConsumerPolicy.onAuthRequired"/> 
     <parameter name="logout-function" value="ConsumerPolicy.onLogout"/> 
    </realm--> 
    <realm loginModule="StrongDummy" name="SampleAppRealm"> 
     <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className> 
    </realm> 

    <realm loginModule="requireLogin" name="WorklightConsole"> 
     <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className> 
     <onLoginUrl>/console</onLoginUrl> 
    </realm> 

    <realm loginModule="rejectAll" name="SubscribeServlet"> 
     <className>com.worklight.core.auth.ext.HeaderAuthenticator</className>   
    </realm> 
    <!-- For websphere --> 
    <!-- realm name="WASLTPARealm" loginModule="WASLTPAModule"> 
     <className>com.worklight.core.auth.ext.WebSphereFormBasedAuthenticator</className> 
     <parameter name="login-page" value="/login.html"/> 
     <parameter name="error-page" value="/loginError.html"/> 
    </realm --> 
    <realm name="FbitnAgentRealm" loginModule="FbitnAgentLogin"> 
     <className>com.fbitn.WorklightCustomAuthenticator</className> 
    </realm> 
</realms> 

<loginModules> 
    <loginModule name="FbitnAgentLogin"> 
     <className>com.fbitn.WorklightCustomLogin</className> 
    </loginModule> 
    <!--loginModule name="AnonymousLoginModule"> 
     <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
    </loginModule--> 

    <!--loginModule name="HeaderLoginModule" canBeResourceLogin="true" isIdentityAssociationKey="true" audit="true"--> 

    <loginModule name="StrongDummy"> 
     <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
    </loginModule> 

    <loginModule name="requireLogin"> 
     <className>com.worklight.core.auth.ext.SingleIdentityLoginModule</className> 
    </loginModule> 

    <loginModule name="rejectAll"> 
     <className>com.worklight.core.auth.ext.RejectingLoginModule</className> 
    </loginModule> 

    <!-- For websphere --> 
    <!-- loginModule name="WASLTPAModule"> 
     <className>com.worklight.core.auth.ext.WebSphereLoginModule</className> 
    </loginModule --> 

    <!-- For enabling SSO with no-provisioning device authentication --> 
    <!-- <loginModule name="MySSO" ssoDeviceLoginModule="WLDeviceNoProvisioningLoginModule"> 
     <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
    </loginModule> --> 
    <!-- For enabling SSO with auto-provisioning device authentication --> 
    <!-- <loginModule name="MySSO" ssoDeviceLoginModule="WLDeviceAutoProvisioningLoginModule"> 
     <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
    </loginModule> --> 
</loginModules> 

+0

嗯......和這裏一樣:/ - http://stackoverflow.com/questions/25785067/deployment-error-authenticationconfig-xml-contains-duplicated-realm-named-wl – 2014-10-03 01:10:11

+0

@IdanAdar是的,但是noboby有回答這個傢伙。 – 2014-10-03 14:05:38

+0

是的,我不是說有沒有答案。 – 2014-10-03 14:11:23

回答

1

有服務器上的兩個版本。 Tomcat/Worklight /應用程序和Tomcat/webapps/app。我不確定服務器配置工具是否用於部署第一個,但是在第二個部署。我從Worklight文件夾中刪除了應用程序內容,並將原始文件夾留在了webapps下,server.xml被配置爲讀取這兩個目錄,只需要一個。

我發現這是因爲worklight-jee-library.jar被安裝在tomcat/lib下和tomcat/Worklight/app中。我相信當安裝Worklight 6.1時,lib中的那個是由安裝經理安置的。

+0

謝謝。你也介意分享你的解決方案@ http://stackoverflow.com/questions/25785067/deployment-error-authenticationconfig-xml-contains-duplicated-realm-named-wl – 2014-10-03 15:42:26