我的 spring-security 配置有问题。我正在使用 spring 3.2.3 版本,并且我有以下 spring-security.xml:
<http pattern="/login*" security="none"/>
<http auto-config="true">
<intercept-url method="GET" pattern='/**' access='ROLE_ADMIN' />
<form-login login-page="/login.ctx" default-target-url="/private/home.ctx" authentication-failure-url="/loginfailure.ctx" />
<logout invalidate-session="true" logout-success-url="/logout.ctx" />
</http>
登录 autenticathe 工作正常,但是如果我在没有身份验证的情况下调用服务,安全性允许检索数据,这不是我所期望的!
例子:
1 - 在 Jboss 上运行应用程序
2 - 调用这个 url:( http://localhost:8080/ContextPanel/application/1
这个调用一个网络服务)
第2点的url,调用服务并返回所需的数据,但应用程序的autentication没有执行!
我会避免这种行为!
这是 web.xml 的一个片段:
<!-- Spring Security -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>