有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

爪哇太阳报。网inetaddr。ttl属性导致AccessControlException

我们正在Tomcat托管的web应用程序中使用ReCaptchas。最近,我们遇到了一些与ReCaptcha校准服务器的连接问题,我们研究的一件事是按照ReCaptcha Wiki中的建议,在DNS条目解析上设置一个超时:http://wiki.recaptcha.net/index.php/Overview#Important:_DNS_Caching

在加入太阳之后。网inetaddr。ttl属性(首先设置为5分钟)我们现在在尝试验证captcha时总是得到一个AccessControlException

java.security.AccessControlException: access denied (java.net.SocketPermission api-verify.recaptcha.net:80 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:904)
at net.tanesha.recaptcha.http.SimpleHttpLoader.httpPost(SimpleHttpLoader.java:66)
at net.tanesha.recaptcha.ReCaptchaImpl.checkAnswer(ReCaptchaImpl.java:61)

下面是我们正在使用的catalina.policy的摘录:

permission java.net.SocketPermission "*", "resolve";
permission java.net.SocketPermission "api-verify.recaptcha.net:80", "connect,resolve";

现在,我不希望ReCaptcha服务器的DNS条目发生很大变化(或者根本没有变化),但是如果发生这种情况,必须重新启动服务器也不是一件好事。知道是什么导致了这种行为吗


共 (0) 个答案