Kai*_*Kai 14 java security jvm weblogic
我正在寻找一个java参数(或者可能是一些不同的方法)来允许我指定一个JVM用作java.security文件的文件,而不是使用在JDK中找到的文件(在JRE lib中) .
为了给你一些更多的上下文,我正在使用由其他人设置的WebLogic服务器,并且在同一个JDK上运行两个(或更多)不同的JVM.我们现在遇到一个问题,我在一个JVM上所做的工作需要一个不同于另一个JVM当前正在使用的java.security文件.我希望有一种方法可以让我将JVM指向一个新的java.security文件而不必将它指向一个全新的JDK(由于空间限制,我们希望避免上传特定于每个JVM的JDK ).
我意识到服务器的设置并不理想,但完全重新安排现有的设置是不可行的,而不是我能够做的事情.所以,我希望有人可能有一个创造性的解决方案,允许多个JVM运行相同的JDK但具有不同的安全配置.
我一直试图找到解决方案,但似乎我的Google-Foo并没有我想象的那么强大.这是希望你们中的一个有答案!
非常感谢.
编辑
抱歉也许我原来的帖子不清楚,但我有兴趣指定java.security文件,通常也称为Java主安全属性文件,而不是在同一目录中找到的java.policy文件.
我的解决方案
我会在这里发布我的解决方案,仅供其他可能陷入类似情况的人参考.
由于我似乎无法在启动时找到要指定的参数,因此我决定放弃java.security属性文件.可以使用Security类(java.security.Security)在代码中设置属性和提供程序(通常在文件中配置).因此,至少在此期间,我计划编写一个类,该类将在启动后设置我的JVM特定安全配置(基本上覆盖该文件为其他JVM提供的默认配置).虽然这个解决方案的明显缺点是没有外化此JVM的安全配置,但该解决方案确实为我提供了一种设置JVM特定属性和提供程序的方法,而不会影响运行相同JDK的其他JVM的配置.
我很欣赏他人的时间和考虑.谢谢=)
小智 11
查看OpenJDK源代码,您无法更改java.security文件的加载.但是,该文件具有一个属性security.overridePropertiesFile,如果设置为true(因为它在我当前的vanilla安装中),则允许您加载通过名为的系统属性指定的其他安全属性文件java.security.properties.另请注意,命令行语法遵循与策略文件类似的模式,其中=指定了其他配置并==指定了完整的替换配置.
也许这个帖子中接受的答案会帮助你; 基本上它表示你需要指定自己的策略文件,最终的调用应该如下所示:
java -Djava.security.manager -Djava.security.policy=/some/path/my.policy
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以仅设置系统属性-Djava.security.properties = *****以指定要加载的安全属性,但是在使用此方法之前,必须设置属性security.overridePropertiesFile = true。
| 归档时间: |
|
| 查看次数: |
21734 次 |
| 最近记录: |