public abstract class Authenticator
extends java.lang.Object
Applications use this class by creating a subclass, and registering an instance of that subclass with the session when it is created. When authentication is required, the system will invoke a method on the subclass (like getPasswordAuthentication). The subclass's method can query about the authentication being requested with a number of inherited methods (getRequestingXXX()), and form an appropriate message for the user.
All methods that request authentication have a default implementation that fails.
Authenticator
,
Session.getInstance(java.util.Properties,
javax.mail.Authenticator)
,
Session.getDefaultInstance(java.util.Properties,
javax.mail.Authenticator)
,
Session.requestPasswordAuthentication(java.net.InetAddress, int, java.lang.String, java.lang.String, java.lang.String)
,
PasswordAuthentication
Modifier and Type | Field and Description |
---|---|
private int |
requestingPort |
private java.lang.String |
requestingPrompt |
private java.lang.String |
requestingProtocol |
private java.net.InetAddress |
requestingSite |
private java.lang.String |
requestingUserName |
Constructor and Description |
---|
Authenticator() |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
getDefaultUserName() |
protected PasswordAuthentication |
getPasswordAuthentication()
Called when password authentication is needed.
|
protected int |
getRequestingPort() |
protected java.lang.String |
getRequestingPrompt() |
protected java.lang.String |
getRequestingProtocol()
Give the protocol that's requesting the connection.
|
protected java.net.InetAddress |
getRequestingSite() |
(package private) PasswordAuthentication |
requestPasswordAuthentication(java.net.InetAddress addr,
int port,
java.lang.String protocol,
java.lang.String prompt,
java.lang.String defaultUserName)
Ask the authenticator for a password.
|
private java.net.InetAddress requestingSite
private int requestingPort
private java.lang.String requestingProtocol
private java.lang.String requestingPrompt
private java.lang.String requestingUserName
final PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress addr, int port, java.lang.String protocol, java.lang.String prompt, java.lang.String defaultUserName)
addr
- The InetAddress of the site requesting authorization,
or null if not known.port
- the port for the requested connectionprotocol
- The protocol that's requesting the connection
(@see java.net.Authenticator.getProtocol())prompt
- A prompt string for the userprotected final java.net.InetAddress getRequestingSite()
protected final int getRequestingPort()
protected final java.lang.String getRequestingProtocol()
URLName.getProtocol()
protected final java.lang.String getRequestingPrompt()
protected final java.lang.String getDefaultUserName()
protected PasswordAuthentication getPasswordAuthentication()
Note that if this method uses a dialog to prompt the user for this information, the dialog needs to block until the user supplies the information. This method can not simply return after showing the dialog.