@Override public SecurityContext authenticate(String username, String password, X509Certificate[] certificates) throws SecurityException { SecurityContext result = null; JassCredentialCallbackHandler callback = new JassCredentialCallbackHandler(username, password); try { LoginContext lc = new LoginContext(jassConfiguration, callback); lc.login(); Subject subject = lc.getSubject(); result = new JaasSecurityContext(username, subject); } catch (Exception ex) { throw new SecurityException("User name [" + username + "] or password is invalid.", ex); } return result; } }
public void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception { if (context.getSecurityContext() == null) { // Set the TCCL since it seems JAAS needs it to find the login // module classes. ClassLoader original = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(JaasAuthenticationBroker.class.getClassLoader()); try { // Do the login. try { JassCredentialCallbackHandler callback = new JassCredentialCallbackHandler(info .getUserName(), info.getPassword()); LoginContext lc = new LoginContext(jassConfiguration, callback); lc.login(); Subject subject = lc.getSubject(); SecurityContext s = new JaasSecurityContext(info.getUserName(), subject); context.setSecurityContext(s); securityContexts.add(s); } catch (Exception e) { throw (SecurityException)new SecurityException("User name or password is invalid.") .initCause(e); } } finally { Thread.currentThread().setContextClassLoader(original); } } super.addConnection(context, info); }
@Override public SecurityContext authenticate(String username, String password, X509Certificate[] certificates) throws SecurityException { SecurityContext result = null; JassCredentialCallbackHandler callback = new JassCredentialCallbackHandler(username, password); try { LoginContext lc = new LoginContext(jassConfiguration, callback); lc.login(); Subject subject = lc.getSubject(); result = new JaasSecurityContext(username, subject); } catch (Exception ex) { throw new SecurityException("User name [" + username + "] or password is invalid.", ex); } return result; } }
@Override public SecurityContext authenticate(String username, String password, X509Certificate[] certificates) throws SecurityException { SecurityContext result = null; JassCredentialCallbackHandler callback = new JassCredentialCallbackHandler(username, password); try { LoginContext lc = new LoginContext(jassConfiguration, callback); lc.login(); Subject subject = lc.getSubject(); result = new JaasSecurityContext(username, subject); } catch (Exception ex) { throw new SecurityException("User name [" + username + "] or password is invalid.", ex); } return result; } }
@Override public SecurityContext authenticate(String username, String password, X509Certificate[] certificates) throws SecurityException { SecurityContext result = null; JassCredentialCallbackHandler callback = new JassCredentialCallbackHandler(username, password); try { LoginContext lc = new LoginContext(jassConfiguration, callback); lc.login(); Subject subject = lc.getSubject(); result = new JaasSecurityContext(username, subject); } catch (Exception ex) { throw new SecurityException("User name [" + username + "] or password is invalid.", ex); } return result; } }