나는 다른 로컬 호스트 서버에 연결하는 데 요구되는 GoogleAppEngine 응용 프로그램을 가지고,하지만 난 서버 코드에서이 작업을 수행하기 위해 노력하고있어 때, 내가 얻을 :GoogleAppEngine 보안 사용 권한을 올바르게 조작 할 수 있습니까?
java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve)
내가 내 지정할 수 있다는 것을 알고 java.policy
공동으로
java -Djava.security.manager -Djava.security.policy=WEB-INF/java.policy
: 자바 가상 머신의 인수를 사용하여 추가 보안 부여 (나는 웹 응용 프로그램 실행 구성에서 그들을 지정) ntents : AppEngine에 자체에 필요한
grant {
permission java.net.SocketPermission "localhost:8081", "connect, resolve";
};
하지만 com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager
에 private 클래스에있는 GoogleAppEngine 내부 보안 관리자를 무시하기 때문에 특성은 그 방법으로 사용할 수 없습니다.
GoogleAppEngine 내부 보안 관리자 클래스가 내 정책 파일을 항아리에있는 스텁 (허용) 파일로 수동으로 바꾸는 대신 사용할 수 있습니까?
http://dmitrygusev.blogspot.com/2009/08/turn-java-security-manager-off-in.html에서 더미 클래스 솔루션을 찾았지만, 여전히 하나만 재정의하는 다른 방법을 찾고 싶습니다. 권한 –
AppEngine에서 로컬 서버를 어떻게 실행 하시겠습니까? 서버를 다른 곳으로 돌리려면 다른 문제가 발생합니까? (방화벽, Google 제한) – phsiao
네,하지만 localhost는 테스트 하나/대체, 내가 다른 오픈 서버 (예를 들어 jabber)와 연결할 수 있기를 원했지만, 그래, 아마도 그것은 GAE에서 제한 될 것입니다 (나는 내가하고있는 일을 진정으로 이해한다면 이러한 설정을 무시할 수있는 가능성을 가지고 있지만 GAE에서는 ok이지만 localhost에서는 괜찮다는 것을 알게되었다.) –