|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.security.remoting.dns.JndiDnsResolver
public class JndiDnsResolver
Implementation of DnsResolver which uses JNDI for the DNS queries. Uses an InitialContextFactory to get the JNDI DirContext. The default implementation will just create a new Context with the context factory com.sun.jndi.dns.DnsContextFactory
DnsResolver
,
InitialContextFactory
Constructor Summary | |
---|---|
JndiDnsResolver()
|
Method Summary | |
---|---|
String |
resolveIpAddress(String hostname)
Resolves the IP Address (A record) to the specified host name. |
String |
resolveServiceEntry(String serviceType,
String domain)
Resolves the host name for the specified service in the specified domain For example, if you need the host name for an LDAP server running in the domain springsource.com, you would call resolveServiceEntry("ldap", "springsource.com"). |
String |
resolveServiceIpAddress(String serviceType,
String domain)
Resolves the host name for the specified service and then the IP Address for this host in one call. |
void |
setCtxFactory(InitialContextFactory ctxFactory)
Allows to inject an own JNDI context factory. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JndiDnsResolver()
Method Detail |
---|
public void setCtxFactory(InitialContextFactory ctxFactory)
ctxFactory
- factory to use, when a DirContext is neededInitialDirContext
,
DirContext
public String resolveIpAddress(String hostname)
DnsResolver
resolveIpAddress
in interface DnsResolver
hostname
- The hostname for which you need the IP Address
public String resolveServiceEntry(String serviceType, String domain)
DnsResolver
Resolves the host name for the specified service in the specified domain
For example, if you need the host name for an LDAP server running in the domain springsource.com, you would call resolveServiceEntry("ldap", "springsource.com").
The DNS server needs to provide the service records for this, in the example above, it would look like this:
_ldap._tcp.springsource.com IN SRV 10 0 88 ldap.springsource.com.The method will return the record with highest priority (which means the lowest number in the DNS record) and if there are more than one records with the same priority, it will return the one with the highest weight. You will find more informatione about DNS service records at Wikipedia.
resolveServiceEntry
in interface DnsResolver
serviceType
- The service type you are searching for, e.g. ldap, kerberos, ...domain
- The domain, in which you are searching for the service
public String resolveServiceIpAddress(String serviceType, String domain)
DnsResolver
resolveServiceIpAddress
in interface DnsResolver
serviceType
- The service type you are searching for, e.g. ldap, kerberos, ...domain
- The domain, in which you are searching for the service
DnsResolver.resolveServiceEntry(String, String)
,
DnsResolver.resolveIpAddress(String)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |