2016-07-20 28 views
1

我試圖將Pulse Web應用程序部署到外部Tomcat。部署時出現此錯誤。我應該如何解決這個問題?在部署SnappyData-0.5 pulse.war時丟失錯誤.war

org.springframework.beans.factory.NoSuchBeanDefinitionException:沒有 豆名爲「org.springframework.security.authenticationManager」是 定義:你忘了一個gobal 元素添加到您的配置(子 元素)?或者,您可以在您的元素上使用authentication-manager-ref 屬性。

+0

傑森嗨,會得到一個答案給你儘快 – plambre

回答

0

您正在使用哪個版本的SnappyData? 您需要在類路徑中提到一個pulse.properties文件。詳情可以查詢http://rowstore.docs.snappydata.io/docs/manage_guide/pulse/quickstart.html#topic_795C97B46B9843528961A094EE520782

讓我們知道你是否有任何問題。

+0

我使用SnappyData-0.5。我發現SnappyData在線鏈接轉到不同的,老的Gemfire文檔。我會按照你的「rowstore」鏈接,這是方向。 – Jason

+0

這並未解決問題。我已經將pulse.properties放入TOMCAT_HOME/lib中,如您在指定的文檔鏈接中所述。錯誤依然存在。另外,我看到一個PULSE.log.0文件,並且在打開它時顯示它無法找到脈衝屬性文件。 – Jason

1

您正在使用哪個版本的Tomcat? 這是same issue with TC authentication上的另一個主題。

否則,你可以試試脈衝在「嵌入模式」?

+0

pulse.war是SnappyData-0.5 dist中預建的Web應用程序,所以我無法像上面的線程那樣訪問'configure'安全性。如果答案是從頭開始從頭開始構建pulse.war以及其他一些安全配置,請告訴我。但是,步驟4中的RowStore文檔)說認證是(可選)。如果需要的話,我會進行更多的設置,但我不想這樣做,除非有必要。 – Jason

+0

希望我們的團隊成員之一能夠恢復,如果此功能已經過測試或有一個簡單的修復。現在,只需嘗試在定位器中運行的Pulse App(「嵌入模式」)。 – jagsr

2

好的。這是固定的。對於每個同樣遇到這種情況的人來說......你必須設置Spring Profile「pulse.authentication.default」,否則它將不會加載AuthenticationManager Bean。

總體問題在於RowStore的文檔,它說這是可選的,而實際上它是必需的。

http://rowstore.docs.snappydata.io/docs/manage_guide/pulse/quickstart.html#topic_795C97B46B9843528961A094EE520782

它說,在步驟4),其配置的安全性是可選的時候,其實你必須通過一個Spring配置文件。此外,再次在「認證Pulse用戶」一節中,它表示這不是必需的。

爲了解決這個問題,我必須通過Spring Profile「pulse.authentication.default」來激活spring-security.xml中的Bean並正確部署pulse.war。

SnappyData pulse.war將來可能會使用「!pulse.authentication.custom」,它將始終加載默認的AuthenticationManager bean,只要未配置自定義的bean即可。

例如,變更爲未來,使之真正可選:

<beans:beans profile="!pulse.authentication.custom" > 
     <authentication-manager> 
      <authentication-provider> 
       <user-service> 
        <user name="admin" password="admin" authorities="ROLE_USER" /> 
       </user-service> 
      </authentication-provider> 
     </authentication-manager> 
    </beans:beans> 
+0

spring.profiles.default在web.xml中設置並設置爲pulse.authentication.default。這應該沒有指定任何身份驗證設置的工作。如果您可以指定您正在使用的TC版本,將會有所幫助。我也會嘗試使用該版本,看看它是否會造成問題。 –