2013-10-08 46 views
0

我目前必须执行以下操作才能在我们的java安全策略中发送邮件。使用主机名而不是IP地址来实现java安全策略?

permission java.net.SocketPermission "smtp.example.com", "resolve"; 
permission java.net.SocketPermission "10.0.0.1:25", "connect,resolve"; 
permission java.net.SocketPermission "10.0.0.2:25", "connect,resolve"; 
permission java.net.SocketPermission "10.0.0.3:25", "connect,resolve"; 

但是IP地址受到来自不时更改,我需要确保我们的应用程序,如果有人增加了一个新的SMTP服务器不破。

是否有可能妥协以允许基于主机名而不是IP地址的连接?

回答

2

SocketPermission页的Java文档:

SocketPermission由主机规范和一组“动作”指定的方式连接到主机的。主机被指定为

host = (hostname | IPv4address | iPv6reference) [:portrange] 

SocketPermissions的创建和意义的一个例子:

new SocketPermission("puffin.eng.sun.com:7777", "connect,accept");