gpt4 book ai didi

java.net.SocketPermission : "connect.resolve"

转载 作者:行者123 更新时间:2023-12-02 07:03:12 26 4
gpt4 key购买 nike

我在连接 Active Directory 时遇到问题。有问题的代码如下:

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 本身进行连接时,我仔细检查了连接没有任何问题。您能给我一个建议吗?如果需要,我很乐意提供更多信息

最佳答案

我发现出了什么问题。我添加了

grant
{
permission java.net.SocketPermission "*:1024-65535","connect,accept,resolve";
permission java.net.SocketPermission "*:1-1023","connect,resolve";
};

在策略文件中(对我来说是 catalina.policy )然后,我在eclipse中的Run配置的Arguments中添加了一条语句:

-Djava.security.policy="c:\catalina.policy"

谢谢

关于java.net.SocketPermission : "connect.resolve",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16393182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com