【发布时间】:2011-07-28 09:57:29
【问题描述】:
问题:
在我的 Java 应用程序(不是小程序)中,我希望将某些文件操作限制为所有类,但不应限制的类的列表/组/包除外。
具体来说,我想限制...
- 文件读取
- 文件写入
- 文件创建
- 文件删除
...这样它们只能在当前工作目录中完成,但不受限制的类除外。
SecurityManager 尝试:
我试图实现实现此行为的 SecurityManager 类的子类,但是似乎在进行检查时提供的 file 信息不仅仅提供文件名(除非我遗漏了什么? )。
另外,我不太明白在这种情况下我如何找出调用的类,以允许我确定是允许操作还是抛出异常。有什么方法可以让我获得让这种方法发挥作用所需的所有信息?
基于策略的尝试:
我还知道 Java 策略旨在限制类的操作,包括文件操作等。但是,我真的很难找到一个好的资源来学习如何使用 .policy 文件解决我的问题。
问题总结:
1)是否有任何替代方法可能比我提到的方法更可取?
2) 这可以使用 SecurityManager 吗?我是否错过了我应该如何实际实施这种方法?
3) 这可以使用策略文件吗?在这方面我错过了什么好的资源吗?
我真的不反对为了实现这一目标而需要投入的任何努力——我只是不确定我应该如何正确地处理它。我也非常缺乏好的资源来教我足够的关于我提到的两种可能的方法,让我自己实现它。最重要的是,我不怕需要大量阅读!
感谢提前提供任何帮助。
【问题讨论】:
标签: java io policy securitymanager