jaasCtx = Realm.getInstance(realm).getJAASContext();
} catch(Exception ex) {
if( ex instanceof LoginException )
throw (LoginException)ex;
else
throw (LoginException)new LoginException(ex.toString()).initCause(ex);
}
assert user != null;
assert pwd != null;
assert realm != null;
assert jaasCtx != null;
if (_logger.isLoggable(Level.FINE)) {
_logger.fine("Logging in user [" + user + "] into realm: " +
realm + " using JAAS module: "+jaasCtx);
}
try {
// A dummyCallback is used to satisfy JAAS but it is never used.
// name/pwd info is already contained in Subject's Credential
LoginContext lg = new LoginContext(jaasCtx, s, dummyCallback);
lg.login();
} catch (Exception e) {
if (_logger.isLoggable(Level.FINEST)) {
_logger.log(Level.FINEST, "doPasswordLogin fails", e);
}
if(getAuditManager() != null && getAuditManager().isAuditOn()){
getAuditManager().authentication(user, realm, false);
}
if( e instanceof LoginException )
throw (LoginException)e;
else
throw (LoginException)
new LoginException("Login failed: " + e.getMessage()).initCause(e);
}
if(getAuditManager() != null && getAuditManager().isAuditOn()){
getAuditManager().authentication(user, realm, true);
}
if (_logger.isLoggable(Level.FINE)) {