spring security css样式不';行不通

spring security css样式不';行不通,css,security,spring,filter,Css,Security,Spring,Filter,我在使用SpringSecurity(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"/> <i

我在使用SpringSecurity(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”是登录表单
  • “Administration”和“barco”目录包含只应由经过身份验证的用户访问的页面
  • “catalogo”目录包含每个人都应该访问的页面
  • “错误”目录包含应用程序的错误页面
  • “plantillas”目录包含 应用程序(我使用JSF2)
“资源”目录包含图像、css文件和javascript。所以在第一行中,我告诉spring security不要使用安全过滤器

但是,使用此配置,当我运行应用程序时,css样式不会应用于页面

我已经检查过,如果我将默认授权改为“permitAll”,它会工作。但我不想这样做,因为这不是一个好的做法


知道为什么不工作吗?我认为它应该会起作用。

如果您正在内联添加样式表,那么它会起作用。例如:

<link type="text/css" rel="stylesheet" href="/resources/style.css" />

如果您正在使用

<h:outputStylesheet> 

标记,url模式应如下所示

<intercept-url pattern="/faces/javax.faces.resource/**" filters="none"/>


非常感谢@Ravi,我添加了“”和css作品。但我花了很多时间才让favicon起作用。最后,我通过以下方式解决了这个问题:''在页面中添加规则:''只需创建资源/图像,将favicon.ico放在那里,并在xhtml中使用它…这样您就不必为icon创建单独的截取url(javax.faces.resource会处理它)。