3

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

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

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

4

2 回答 2

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>
于 2012-07-12T12:56:02.647 回答
0

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

Tomcat 7 - 保护 webapps 文件夹下的文件夹

于 2013-09-15T11:30:57.623 回答