在Spring Security中,我们可以使用嵌套的<intercept-url>?</intercept-url>

时间:2015-01-06 09:33:08

标签: spring security spring-security

我的要求如下:

假设有许多网址来自&#34; dbservice&#34;。例如 1. / dbservice / add 2. / dbservice / update 3. / dbservice / remove etc

因此,对于每个网址,我必须编写单独的行(考虑到它们具有不同的访问级别)。 所以它看起来像这样:

<security:intercept-url pattern="/dbservice/add" access="permitAll"/>
<security:intercept-url pattern="/dbservice/update" access="isAuthenticated"/>
<security:intercept-url pattern="/dbservice/remove" access="hasRole('ROLE_ADMIN')"/>

如果字符串dbservice发生变化,那么我必须更新我不想要的任何地方。

有没有办法让我只声明dbservice一次,我会在详细的url中使用一些变量,或者可能是这样的:

<security:intercept-url pattern="/dbservice">
         <security:intercept-url pattern="/add" access="permitAll"/>
         <security:intercept-url pattern="/remove" access="hasRole('ROLE_ADMIN')"/>
</security:intercept-url>

还要考虑http中的其他标签,例如custom-filter和remember-me。

1 个答案:

答案 0 :(得分:0)

试试这个

   <http pattern="/dbservice/**">
        <intercept-url pattern="/add"  access="permitAll" />
        <intercept-url pattern="/remove" access="hasRole('ROLE_ADMIN')" />
   </http>