sha*_*sir 6 java eclipse security google-app-engine
我有一个连接到另一个localhost服务器所需的GoogleAppEngine应用程序,但是当我尝试从服务器代码执行此操作时,我得到:
java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve)
我知道我可以使用java虚拟机参数指定我的额外安全授权(我在Web应用程序运行配置中指定它们):
java -Djava.security.manager -Djava.security.policy=WEB-INF/java.policy
与java.policy
内容:
grant {
permission java.net.SocketPermission "localhost:8081", "connect, resolve";
};
Run Code Online (Sandbox Code Playgroud)
但它会覆盖位于私有类中的GoogleAppEngine内部安全管理器com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager
,因此以这种方式禁用AppEngine本身所需的属性.
有没有办法让GoogleAppEngine内部安全管理器类使用我的策略文件,而不是用jar中的存根(允许任何东西)手动替换它?
您无法在 App Engine 上打开套接字。您需要通过 java.net 或直接使用URLFetch API 。当您的应用程序上传到 App Engine 后,您希望如何访问“localhost”?