spring security css样式不起作用

时间:2011-12-22 18:39:57

标签: css security spring filter

使用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”目录包含模板的facelets页面 app(我使用JSF2)。

“resources”目录包含图像,css文件和javascript。因此,在第一行中,我告诉spring安全性不要使用安全过滤器。

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

我已经检查过如果我将默认授权变为“permitAll”,它就可以了。但我不想那样做,因为这不是一个好习惯。

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

1 个答案:

答案 0 :(得分:4)

如果要内联添加样式表,则此方法有效。例如:

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

如果您正在使用

<h:outputStylesheet> 

标签,网址格式应该是这样的

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