2014-03-05 264 views
3

我下載了JavaMelody(服務器統計信息)並將其應用於我的Spring項目。在插入http://myAplication/monitoring後,我可以看到JavaMelody頁面。我決定,這應該由密碼保護。所以我也跟着文檔和tomcat-users.xmlTomcat身份驗證和Spring安全性

<?xml version='1.0' encoding='utf-8'?> 
<tomcat-users> 
    <role rolename="monitoring" /> 
    <user username="monitoring" password="monitoring" roles="monitoring" /> 
</tomcat-users> 

添加然後我插入一些行到web.xml

<filter> 
    <filter-name>monitoring</filter-name> 
    <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>monitoring</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
<listener> 
    <listener-class>net.bull.javamelody.SessionListener</listener-class> 
</listener> 

<!-- JAVA MELODY MONITOR ACCESS --> 
<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>Monitoring</realm-name> 
</login-config> 
<security-role> 
    <role-name>monitoring</role-name> 
</security-role> 
<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Monitoring</web-resource-name> 
     <url-pattern>/monitoring</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>monitoring</role-name> 
    </auth-constraint> 
</security-constraint> 

現在,當我鍵入http://myAplication/monitoring我得到認證彈出 - 這很酷。但是,當我輸入憑據並點擊確定時,顯示另一個身份驗證彈出窗口不同的是,這是來自Spring Security(我沒有看到在我的應用程序中的任何地方彈出)。

enter image description here enter image description here

而現在,我輸入憑據春季安全(其他憑證)和JavaMelody頁開始出現,但另一個監控彈出窗口顯示,然後春季安全,又一次,再次... - 直到加載所有頁面元素。

我的春季安全的conf

<http auto-config='true' use-expressions="true"> 
    <intercept-url pattern="/**" access="permitAll" /> 
    <form-login login-page='/' default-target-url='/login_ok' 
     always-use-default-target='true' authentication-failure-url="/login_failed" /> 
    <logout logout-success-url="/" /> 
</http> 

有沒有一種方法,使春季安全和Tomcat認證一起工作?

回答

4

你必須決定你想要的:Container Manager Security(web.xml)或Spring Security(beans.xml)。你不應該同時使用兩者。這就是爲什麼你會看到兩個基本領域名稱。

+0

我明白了。感謝您的信息,我必須處理:) – alvaro991

+0

@ Michael-O如何在普通表單登錄之前添加''彈簧安全配置以使用基本身份驗證? – Alex

+1

您可以提供和優先/訂單屬性。它有明確的定義,可以在官方的[Spring docs]中查找(http://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/reference/htmlsingle/#filter-stack) 。 –