首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >web.xml中的安全约束不适用于具有文件扩展名的URL模式

web.xml中的安全约束不适用于具有文件扩展名的URL模式
EN

Stack Overflow用户
提问于 2013-10-18 12:16:28
回答 2查看 48.8K关注 0票数 14

我在web.xml中输入了以下安全约束。我的目标是XML文件位于公共区域。这适用于/images/*文件夹。但是,url模式的*.xml似乎不起作用。有什么想法吗?

代码语言:javascript
复制
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Public Area</web-resource-name>
            <url-pattern>/xyz</url-pattern>
            <url-pattern>/images/*</url-pattern>
            <url-pattern>/yyz/*</url-pattern>
            <url-pattern>*.xml</url-pattern>
        </web-resource-collection>
    </security-constraint>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Super User Area</web-resource-name>
            <url-pattern>/test/list1</url-pattern>
            <url-pattern>/test/list2</url-pattern>
            <url-pattern>/test/list3</url-pattern>
            <url-pattern>/test/admin.html</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>SUPER_USER</role-name>
        </auth-constraint>
    </security-constraint>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Protected Area</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>ADMIN</role-name>
            <role-name>END_USER</role-name>
        </auth-constraint>
    </security-constraint>


    <security-role>
        <description>Super User</description>
        <role-name>SUPER_USER</role-name>
    </security-role>
    <security-role>
        <description>Admin User</description>
        <role-name>ADMIN</role-name>
    </security-role>
    <security-role>
        <description>End User</description>
        <role-name>END_USER</role-name>
    </security-role>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-18 13:03:54

您的另一个URL模式比这个url-pattern - *.xml requestURI更匹配,这就是它不起作用的原因。例如,如果您有/test/list/user.xml,则它将被视为超级用户区域中的web资源集合,因此SUPER_USER只能访问。因此,请确保url-pattern被声明为更特定于资源,以避免冲突和错误解释。谢谢

票数 9
EN

Stack Overflow用户

发布于 2016-11-07 21:06:39

实际上,放置的顺序是问题,首先安全约束应该是super_user,然后是公共区域安全约束。如果你把安全约束放在公共区域,它会被下面的安全约束覆盖。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19441487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档