一尘不染

apache tomcat文件仅在会话认证jsp之后下载

tomcat

嗨,我正在使用Apache Tomcat。我有一个用于输入用户名和密码的jsp文件和一个用于身份验证的java
bean。用户通过身份验证后,我用用户名创建一个会话变量,并使用“ authenticated”名称创建另一个变量,其值为true。我只想在会话变量“
authentication” == true之后才允许文件下载;我也想在下载之前进行一些处理(注册下载的用户名..)

问题:可以说我在目录“ / downloads”中有文件“ download.bin”,因此直接访问URL“ downloads /
download.bin”的任何人都可以获取该文件。

1.我可以禁止直接下载文件吗?2.仅在会话认证后才启用文件下载。

谢谢。


阅读 239

收藏
2020-06-16

共1个答案

一尘不染

您可以防止直接下载文件。一种常用的方法是将/downloads文件夹放入WEB- INF。创建一个Servlet,检查您的身份验证标志,然后将文件发送给用户。用户请求可能类似于以下内容:

http://localhost/myApp/downloadServlet?filename=download.bin

由于WEB-INF中的内容不是公开可用的,因此您可以在此处隐藏文件。

2020-06-16