public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (Callback callback : callbacks) { // jaspi to server communication if (callback instanceof CallerPrincipalCallback) { callerPrincipals.set((CallerPrincipalCallback) callback); } else if (callback instanceof GroupPrincipalCallback) { groupPrincipals.set((GroupPrincipalCallback) callback); } else if (callback instanceof PasswordValidationCallback) { PasswordValidationCallback passwordValidationCallback = (PasswordValidationCallback) callback; Subject subject = passwordValidationCallback.getSubject(); UserIdentity user = loginService.login(passwordValidationCallback.getUsername(), new String(passwordValidationCallback.getPassword())); if (user != null) { passwordValidationCallback.setResult(true); passwordValidationCallback.getSubject().getPrincipals().addAll(user.getSubject().getPrincipals()); passwordValidationCallback.getSubject().getPrivateCredentials().add(user); } } // server to jaspi communication // TODO implement these else if (callback instanceof CertStoreCallback) { } else if (callback instanceof PrivateKeyCallback) { } else if (callback instanceof SecretKeyCallback) { } else if (callback instanceof TrustStoreCallback) { } else { throw new UnsupportedCallbackException(callback); } } }
_logger.log(Level.FINE, "JMAC: In PasswordValidationCallback Processor for appclient - will do nothing"); pwdCallback.setResult(true); return; passwd[i] = ' '; pwdCallback.setResult(true); } catch(LoginException le) { _logger.log(Level.INFO, "jmac.loginfail", username); pwdCallback.setResult(false);
passwordValidationCallback.setResult(true); passwordValidationCallback.getSubject().getPrincipals().addAll(user.getSubject().getPrincipals()); passwordValidationCallback.getSubject().getPrivateCredentials().add(user);
passwordValidationCallback.setResult(true); passwordValidationCallback.getSubject().getPrincipals().addAll(user.getSubject().getPrincipals()); passwordValidationCallback.getSubject().getPrivateCredentials().add(user);
passwordValidationCallback.setResult(true); passwordValidationCallback.getSubject().getPrincipals().addAll(user.getSubject().getPrincipals()); passwordValidationCallback.getSubject().getPrivateCredentials().add(user);