最近question在SO上引导我找到关于Java安全管理器的较早answer。我在这个答案中关于这一行的问题:
安全管理器会影响性能,但很少在服务器端使用。
有人可以支持或反驳吗?我认为总是一个安全管理器,一个自定义的或默认的,容器一直使用它。
答案 0 :(得分:1)
在你自己编写的服务器端代码中,我不认为您需要使用SecurityManager,因为如果您正在编写代码以在中执行某些操作您的应用程序,您不太可能需要检查您的代码是否具有您提供的权限。
例如,SecurityManager中的许多方法都与IO操作相关 - checkDelete()
,checkRead()
,checkWrite()
等。当您尝试时,JDK库类将调用这些方法创建/写入/读取/删除文件,所以自己调用它们是毫无意义的。
因此,您的服务器端代码不太可能充分利用SecurityManager。但是,代码运行的代码 - 如果您部署在servlet容器中 - 可能会使用这些方法,因为他们有兴趣确定您的代码是否具有某种级别的权限他们给予它。