Spring 安全 CSS 样式不起作用



我有一个问题应用css到网页,使用spring安全(3.0.7版本)。我有以下配置:

<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 "one_answers"barco"目录包含只有经过认证的用户才能访问的页面。
  • "catalogo"目录包含每个人都应该访问的页面。
  • "error"目录包含应用程序的错误页面。
  • "plantillas"目录包含app(我使用JSF2).

"resources"目录包含图片、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"/>

最新更新