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