0

我在如何解决 JavaEE 6 (Webprofile) 中的这种情况时遇到问题。

我有一组具有特定角色的用户,他们可以触发图像的生成。对这些图像的访问受角色(超级用户)的限制。

问题是,具有“超级用户”角色的用户具有访问由具有该角色的另一个用户生成的图像的潜在权限。

文件名是随机生成的,图像会在短时间内被删除。但是图像包含敏感数据,所以我想尽可能地限制对它的访问。

有没有办法限制对图像/文件的访问仅限于创建它的用户?

web.xml,到目前为止,仅按角色限制对图像文件夹的访问:

 <security-constraint>
    <web-resource-collection>
      <web-resource-name>Images</web-resource-name>
      <url-pattern>/images/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>Superuser</role-name>
    </auth-constraint>
  </security-constraint>

提前致谢。

4

1 回答 1

1

添加一个 Servlet 过滤器,用于在提供文件之前检查哪个用户已登录。
在该过滤器中,您还应该检查目标(哪个文件),检查文件的所有者,然后检查当前用户是否与所有者匹配。
更多关于过滤器的信息:http
://www.oracle.com/technetwork/java/filters-137243.html 另一个有用的资源:http://docs.oracle.com/cd/B14099_19/web.1012/b14017/filters。 htm

于 2013-10-21T09:12:59.480 回答