【问题标题】:Tomcat secure folder in webappswebapps中的Tomcat安全文件夹
【发布时间】:2012-07-12 04:53:22
【问题描述】:

我有一个 Web 应用程序和 Tomcat,比如它的服务器。 我将我的网络应用程序放在文件夹中:$(TOMCAT_HOME)/webapps/myapp 和我的图像到 $(TOMCAT_HOME)/webapps/images 然后我在tomcat的server.xml

中写下
<Context path="/images" docBase="c:/servers/apache-tomcat-7.0.29/webapps/images"/>

它工作正常。 但是,我想保护文件夹。我的意思是,如果用户没有登录我的应用程序,我想禁止访问该文件夹。我该怎么做?

【问题讨论】:

    标签: tomcat contextpath


    【解决方案1】:

    您需要在部署描述符中添加一个。类似这样的东西:

    <security constraint>
        <web-resource-collection>
            <web-resource-name>Images</web-resource-name>
            <url-pattern>/images/*</url-pattern>
            <http-method>POST</http-method>
    
        <web-resource-collection>
    
        <auth-constraint>
            <role-name>Admin</role-name>
            <role-name>Member</role-name>
        </auth-constraint>
    
    </security-constraint>
    
    <security-role><role-name>Admin</role-name></security-role>
    <security-role><role-name>Member</role-name></security-role>
    <security-role><role-name>Guest</role-name></security-role>
    

    然后您需要在 tomcat-users.xml 文件中定义用户角色:

    <tomcat-users>
        <role rolename=”Admin”/>
        <role rolename=”Member”/>
        <role rolename=”Guest”/>
        <user username=”Conor” password=”admin” roles=”Admin, Member, Guest” />
        <user username=”SomebodyElse” password=”coder” roles=”Member, Guest” />
        <user username=”Andrew” password=”newbie” roles=”Guest” />
    </tomcat-users>
    

    【讨论】:

    • 已编辑以包含安全角色元素。
    • 谢谢您的 4 个回答。但是,请您解释一下。如果我将 添加到我的 app's web.xml 它对我有什么帮助? web.ml 只能访问应用程序文件夹。例如:我的应用在 URL:http://localhost:8080/myapp/start.jsp 上,我的图像在 URL:http://localhost:8080/images/img/ef8e1b70541a.jpg myapp 中的 web.xml 如何控制对文件夹的访问?
    • 您的 web.xml 只能限制对该项目中资源的访问,因此它无法为其所在的图像文件夹定义规则(据我所知)。您将图像移动到“localhost:8080/myapp/images/kitten.jpg”是否可行?
    • 这是 oracle 对此事的看法:docs.oracle.com/javaee/5/tutorial/doc/bncbx.html#bncck
    • 不幸的是,没有。我无法将图像移动到 webapp :( 如果是这样,我不会在论坛上提问 :)
    【解决方案2】:

    我知道这个问题有点老了,对于任何来这篇文章的人来说,我都遇到了类似的问题并找到了解决方法,

    Tomcat 7 - Secure a folder under webapps folder

    【讨论】:

      猜你喜欢
      • 2019-08-11
      • 2010-09-20
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多