我在使用Spring Security(3.0.7版本)时,遇到了应用CSS到网页的问题。我的配置如下:
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/faces/resources/**" filters="none"/>
<intercept-url pattern="/faces/inicio.xhtml" access="permitAll"/>
<intercept-url pattern="/faces/paginas/autenticacion/login.xhtml*" access="permitAll"/>
<intercept-url pattern="/faces/paginas/administracion/**" access="isAuthenticated()"/>
<intercept-url pattern="/faces/paginas/barco/**" access="isAuthenticated()"/>
<intercept-url pattern="/faces/paginas/catalogo/**" access="permitAll"/>
<intercept-url pattern="/faces/paginas/error/**" access="permitAll"/>
<intercept-url pattern="/faces/paginas/plantillas/**" access="permitAll"/>
<intercept-url pattern="/**" access="denyAll" />
默认情况下,我拒绝访问整个页面。然后,我将授权应用于具体页面,指定它们的URL模式,并按给定顺序首先应用,其中denyAll规则是最后一个。
- "inicio.xhtml"是主页。
- "login.xhtml"是登录表单。
- "administracion"和"barco"目录包含只能由经过身份验证的用户访问的页面。
- "catalogo"目录包含任何人都可以访问的页面。
- "error"目录包含应用程序的错误页面。
- "plantillas"目录包含应用程序的模板面部页面(我使用JSF2)。
"resources"目录包含图像、CSS文件和JavaScript。因此,在第一行中,我告诉Spring Security不要为其使用安全过滤器。
然而,使用这种配置时,运行应用程序时,CSS样式不会应用于页面!!
我已经检查过,如果将默认授权更改为"permitAll",它可以正常工作。但我不想这样做,因为这不是一个好的实践。
有什么想法为什么不起作用吗?我认为它应该起作用。