在java中设置Process对象的安全性

有人可以告诉我如何限制通过流程对象访问系统属性? 如果我通过进程对象运行以下代码段,我可以抛出安全性exception。

System.getProperty("user.home"); 

请告诉我如何配置过程对象的证券。

在ProcessBuilder类文档中,在环境方法中写入:

系统可能不允许修改环境变量或禁止某些变量名称或值。

所以请告诉我如何禁止某些变量值。

更新:假设我使用的是Java Web应用程序,并为客户端提供了一个代码平台。 然后,如何为java Web应用程序和客户端应用程序单独配置java安全性。(因为我永远不想限制Web应用程序获取System的任何属性,而我必须限制客户端使用这些命令来应用程序漏洞)

创建自己的安全管理器并检查某些属性的访问权限

 public class MySecurityManager extends SecurityManager { @Override public void checkPropertyAccess(String key) throws SecurityException { if ( key != null && key.equals("some.forbidden_value") { throw new SecurityException("some message"); } super.checkPropertyAccess( key ); } } 

代码中的其他位置附加了安全管理器:

 System.setSecurityManager( new MySecurityManager() );