我下載了JavaMelody(服務器統計信息)並將其應用於我的Spring項目。在插入http://myAplication/monitoring
後,我可以看到JavaMelody頁面。我決定,這應該由密碼保護。所以我也跟着文檔和tomcat-users.xml
Tomcat身份驗證和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(我沒有看到在我的應用程序中的任何地方彈出)。
而現在,我輸入憑據春季安全(其他憑證)和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認證一起工作?
我明白了。感謝您的信息,我必須處理:) – alvaro991
@ Michael-O如何在普通表單登錄之前添加' '彈簧安全配置以使用基本身份驗證? –
Alex
您可以提供和優先/訂單屬性。它有明確的定義,可以在官方的[Spring docs]中查找(http://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/reference/htmlsingle/#filter-stack) 。 –