如何仅向一个用户授予对文件的访问权限

时间:2013-10-21 09:10:33

标签: java security java-ee authorization

我遇到了如何在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>

提前致谢。

1 个答案:

答案 0 :(得分:1)

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