2013-10-08 32 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");