您好 我正在使用apache tomcat。 我有一个用于输入用户名和密码的jsp文件和一个用于身份验证的java bean。 在用户通过身份验证后,我使用用户名创建一个会话变量,使用名称“authenticated”创建另一个值为true的会话变量。 我想在会话变量“authentication”== true之后才允许文件下载; 我还想在下载之前做一些处理(注册下载的用户名..)
问题: 假设我在目录“/ downloads”中有文件“download.bin” 所以直接转到网址“downloads / download.bin”的人都会收到该文件。1.我可以阻止直接下载文件 2.仅在会话认证后启用文件下载。
感谢。
答案 0 :(得分:2)
您可以阻止直接下载该文件。一种常见的方法是将/downloads
文件夹放在WEB-INF
内。创建一个servlet,检查您的身份验证标志,然后将该文件发送给用户。
用户请求可能如下所示:
http://localhost/myApp/downloadServlet?filename=download.bin
由于WEB-INF内的内容不公开,您可以在那里隐藏文件。