0
我遇到了連接Active Directory的麻煩。 有問題的代碼是以下幾點:java.net.SocketPermission:「connect.resolve」
Hashtable<Stirng,String> env = new Hashtable<String,String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldap://192.168.0.100:389");
env.put(Context.SECURITY_AUTHENTICATION,"simple");
env.put(Context.SECURITY_PRINCIPAL,"TEST\\Administrator");
env.put(Context.SECURITY_CREDENTIALS,"password");
LdapContext ctx = new InitialLdapContext(env, null);
當我調試它,它給了我一個錯誤:
javax.naming.CommunicationException: 192.168.0.100:389 [Root Exception is java.security.AccessControlException: access denied ("java.net.SocketPermission" "192.168.0.100:389" "connect.resolve")]
一個我試圖連接的IP是192.168.0.99(Windows 7)中 192.168.0.100安裝在Windows 2008中,當我嘗試從192.168.0.100本身連接時,我仔細檢查了連接沒有任何問題。 你能給我一個建議嗎? 如果需要,我很樂意提供更多信息
你的代碼是作爲一個applet運行的嗎? – 2013-05-06 06:36:36
從這裏開始http://docs.oracle.com/javase/6/docs/technotes/guides/security/permissions.html – rkosegi 2013-05-06 06:37:31
哦對不起。它作爲一個Servlet運行 – 2013-05-06 06:37:54