安全管理器很少用在服务器上?

时间:2013-02-15 21:15:31

标签: java securitymanager

最近question在SO上引导我找到关于Java安全管理器的较早answer。我在这个答案中关于这一行的问题:

  

安全管理器会影响性能,但很少在服务器端使用。

有人可以支持或反驳吗?我认为总是一个安全管理器,一个自定义的或默认的,容器一直使用它。

1 个答案:

答案 0 :(得分:1)

自己编写的服务器端代码中,我不认为您需要使用SecurityManager,因为如果您正在编写代码以在中执行某些操作您的应用程序,您不太可能需要检查您的代码是否具有您提供的权限。

例如,SecurityManager中的许多方法都与IO操作相关 - checkDelete()checkRead()checkWrite()等。当您尝试时,JDK库类将调用这些方法创建/写入/读取/删除文件,所以自己调用它们是毫无意义的。

因此,您的服务器端代码不太可能充分利用SecurityManager。但是,代码运行的代码 - 如果您部署在servlet容器中 - 可能会使用这些方法,因为他们有兴趣确定您的代码是否具有某种级别的权限他们给予它。