安全拦截网址从通用匹配模式中排除

时间:2014-06-15 06:59:18

标签: spring spring-mvc

我拦截了url / test / **现在我正在尝试为不同的访问角色创建新的拦截URL作为/ test / test1。

我在下面试过但没有工作

<security:http>
    <security:intercept-url pattern="/test/**" access="ROLE_TEST" requires-channel="https"/>
    <security:http-basic />
</security:http>

<security:http>
    <security:intercept-url pattern="/test/test1" access="ROLE_TEST1" requires-channel="https"/>
    <security:http-basic />
</security:http>

1 个答案:

答案 0 :(得分:1)

不要为你想要保护的每个网址创建一个<http>元素,这样会使你的配置变得混乱,旁边它不会工作。只需将其添加到第一个块。确保/test/test1映射在/test/**之前。

<security:http>
    <security:intercept-url pattern="/test/test1" access="ROLE_TEST1" requires-channel="https"/>
    <security:intercept-url pattern="/test/**" access="ROLE_TEST" requires-channel="https"/>
    <security:http-basic />
</security:http>

请参阅Spring Security reference,特别是注释。