我下载了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) 。 –