【问题标题】:GWT file upload java.security.AccessControlException: access denied (java.io.FilePermissionGWT 文件上传 java.security.AccessControlException: 访问被拒绝 (java.io.FilePermission
【发布时间】:2011-03-08 12:57:57
【问题描述】:

我有一个文件上传 Servlet 并尝试将一些文件存储为:

try{
    File uploadedFile = new File(UPLOAD_DIRECTORY + fileName);
    File uploadedFile = new File("/"+fileName);
    item.write(uploadedFile);
}
catch (Exception e) {
    e.printStackTrace();
}

之后我收到以下错误:

java.security.AccessControlException: access denied (java.io.FilePermission /untitled.html write)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
    at java.security.AccessController.checkPermission(AccessController.java:546)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)

我该如何解决?

【问题讨论】:

    标签: gwt file-upload permission-denied


    【解决方案1】:

    您可以让您的应用服务器可写/(这对我来说似乎不是一个好主意)或将您上传的文件存储在另一个可写位置。

    File uploadedFile = new File(UPLOAD_DIRECTORY + fileName);
    File uploadedFile = new File("/"+fileName);
    

    您似乎还试图声明uploadedFile 两次。从错误来看,UPLOAD_DIRECTORY 似乎是 /,或者您实际上正在使用第二行。也许您只需要在UPLOAD_DIRECTORY 中提供正确的位置?

    回答您关于 Java 策略文件的评论问题:

    来自 java.sun.com 上的Security and Permissions

    Java 有一个策略文件 平台安装(系统)和 每个用户的可选策略文件。 系统策略文件位于 {java.home}/lib/security/java.policy, 并且用户策略文件在每个 用户的主目录。系统和 合并用户策略文件。因此对于 例如,可能有系统策略 授予很少权限的文件 对系统上的所有用户,以及 个人政策文件授予 某些附加权限 用户。

    请参阅File Permission 部分以在策略文件中设置文件系统权限。

    重申我自己的评论,您还需要注意操作系统中的文件系统权限,其控制取决于您使用的操作系统。

    【讨论】:

    • 我在Jetty Server上使用eclipse,如何设置写权限?
    • @gwt_user 实际上,我在考虑文件系统权限。但是如果你想改变 Java 策略文件,你可以看这里:Security and Permissions
    • @IsaacTruett 在我的 Eclipse 项目中我必须将文件放在哪里,我必须填写什么?
    • @gwt_user 我刚刚更新了我的答案,提供了有关 Java 策略文件的更多信息,包括我链接的页面上描述策略文件位置的概述中的引用。
    • @IsaacTruett 与用户主目录你的意思是用户/{用户名}?我添加了 grant { permission java.io.FilePermission ">", "read, write, delete, execute"; };但这不起作用?我正在使用 OSX 并尝试从 Eclipse 以开发模式运行我的应用程序。我该怎么办?
    猜你喜欢
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 2017-08-19
    • 2011-09-04
    • 2013-10-25
    • 2013-04-20
    相关资源
    最近更新 更多