public class SecurityContextImpl extends Object implements SecurityContext
SecurityContext.AuthenticationResultATTACHMENT_KEY| Constructor and Description |
|---|
SecurityContextImpl(HttpServerExchange exchange,
AuthenticationMode authenticationMode,
IdentityManager identityManager) |
SecurityContextImpl(HttpServerExchange exchange,
IdentityManager identityManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAuthenticationMechanism(AuthenticationMechanism handler)
Adds an authentication mechanism to this context.
|
boolean |
authenticate()
Performs authentication on the request.
|
void |
authenticationComplete(Account account,
String mechanism)
Called by the
AuthenticationMechanism to indicate that an account has been successfully authenticated. |
protected void |
authenticationComplete(Account account,
String mechanism,
boolean programatic) |
void |
authenticationFailed(String message,
String mechanism)
Called by the
AuthenticationMechanism to indicate that an authentication attempt has failed. |
Account |
getAuthenticatedAccount()
Obtain the
Account for the currently authenticated identity. |
List<AuthenticationMechanism> |
getAuthenticationMechanisms() |
IdentityManager |
getIdentityManager()
Obtain the associated
IdentityManager to use to make account verification decisions. |
String |
getMechanismName() |
boolean |
isAuthenticated() |
boolean |
login(String username,
String password)
Attempts to log the user in using the provided credentials.
|
void |
logout()
de-authenticates the current exchange.
|
void |
registerNotificationReceiver(NotificationReceiver receiver)
Register a
NotificationReceiver interested in receiving notifications for security events that happen on this SecurityContext. |
void |
removeNotificationReceiver(NotificationReceiver receiver)
Remove a previously registered
NotificationReceiver from this SecurityContext. |
void |
setAuthenticationRequired()
Marks this request as requiring authentication.
|
void |
setProgramaticMechName(String programaticMechName)
Set the name of the mechanism used for authentication to be reported if authentication was handled programatically.
|
public SecurityContextImpl(HttpServerExchange exchange, IdentityManager identityManager)
public SecurityContextImpl(HttpServerExchange exchange, AuthenticationMode authenticationMode, IdentityManager identityManager)
public boolean authenticate()
SecurityContexttrue it can still have committedd the response (e.g. form auth redirects back to the original
page). Callers should check that the exchange has not been ended before proceeding.authenticate in interface SecurityContexttrue if either the request is successfully authenticated or if there is no failure validating the
current request so that the request should continue to be processed, false if authentication was not
completed and challenge has been prepared for the client.public void setAuthenticationRequired()
SecurityContext#authenticate(io.undertow.server.HttpCompletionHandler, io.undertow.server.HttpHandler)
is called without first calling this method then the request will continue as normal even if the authentication
was not successful.setAuthenticationRequired in interface SecurityContextpublic boolean isAuthenticated()
isAuthenticated in interface SecurityContextpublic void setProgramaticMechName(String programaticMechName)
programaticMechName - public String getMechanismName()
getMechanismName in interface SecurityContextpublic void addAuthenticationMechanism(AuthenticationMechanism handler)
SecurityContextSecurityContext.authenticate() is
called mechanisms will be iterated over in the order they are added, and given a chance to authenticate the user.addAuthenticationMechanism in interface SecurityContexthandler - The mechanism to addpublic List<AuthenticationMechanism> getAuthenticationMechanisms()
getAuthenticationMechanisms in interface SecurityContextpublic Account getAuthenticatedAccount()
SecurityContextAccount for the currently authenticated identity.getAuthenticatedAccount in interface SecurityContextAccount for the currently authenticated identity or null if no account is currently authenticated.public IdentityManager getIdentityManager()
SecurityContextIdentityManager to use to make account verification decisions.getIdentityManager in interface SecurityContextIdentityManagerpublic boolean login(String username, String password)
SecurityContextAuthenticatedSessionManager (if any), so subsequent requests will automatically be authenticated
as this user.
This operation may blocklogin in interface SecurityContextusername - The usernamepassword - The passwordtrue if the login succeeded, false otherwisepublic void logout()
SecurityContextlogout in interface SecurityContextpublic void authenticationComplete(Account account, String mechanism)
SecurityContextAuthenticationMechanism to indicate that an account has been successfully authenticated.
Note: A successful verification of an account using the IdentityManager is not the same as a successful
authentication decision, other factors could be taken into account to make the final decision.authenticationComplete in interface SecurityContextaccount - - The authenticated Accountmechanism - - The name of the mechanism used to authenticate the account.protected void authenticationComplete(Account account, String mechanism, boolean programatic)
public void authenticationFailed(String message, String mechanism)
SecurityContextAuthenticationMechanism to indicate that an authentication attempt has failed.
This should only be called where an authentication attempt has truly failed, for authentication mechanisms where an
additional round trip with the client is expected this should not be called.
Where possible the failure message should contain the name of the identity that authentication was being attempted for,
however as this is not always possible to identify in advance a generic message may be all that can be reported.authenticationFailed in interface SecurityContextmessage - - The message describing the failure.mechanism - - The name of the mechanism reporting the failure.public void registerNotificationReceiver(NotificationReceiver receiver)
SecurityContextNotificationReceiver interested in receiving notifications for security events that happen on this SecurityContext.registerNotificationReceiver in interface SecurityContextreceiver - - The NotificationReceiver to register.public void removeNotificationReceiver(NotificationReceiver receiver)
SecurityContextNotificationReceiver from this SecurityContext.
If the supplied receiver has not been previously registered this method will fail silently.removeNotificationReceiver in interface SecurityContextreceiver - - The NotificationReceiver to remove.Copyright © 2013 JBoss by Red Hat. All Rights Reserved.