@Override public SecurityContext authenticate(String username, String password, X509Certificate[] peerCertificates) throws SecurityException { try { CallbackHandler callback = new JaasCertificateCallbackHandler(peerCertificates); LoginContext lc = new LoginContext(jaasConfiguration, callback); lc.login(); Subject subject = lc.getSubject(); String dnName = ""; for (Principal principal : subject.getPrincipals()) { if (principal instanceof UserPrincipal) { dnName = ((UserPrincipal)principal).getName(); break; } } return new JaasCertificateSecurityContext(dnName, subject, peerCertificates); } catch (Exception e) { throw new SecurityException("User name [" + username + "] or password is invalid. " + e.getMessage(), e); } } }
@Override public SecurityContext authenticate(String username, String password, X509Certificate[] peerCertificates) throws SecurityException { try { CallbackHandler callback = new JaasCertificateCallbackHandler(peerCertificates); LoginContext lc = new LoginContext(jaasConfiguration, callback); lc.login(); Subject subject = lc.getSubject(); String dnName = ""; for (Principal principal : subject.getPrincipals()) { if (principal instanceof UserPrincipal) { dnName = ((UserPrincipal)principal).getName(); break; } } return new JaasCertificateSecurityContext(dnName, subject, peerCertificates); } catch (Exception e) { throw new SecurityException("User name [" + username + "] or password is invalid. " + e.getMessage(), e); } } }
@Override public SecurityContext authenticate(String username, String password, X509Certificate[] peerCertificates) throws SecurityException { try { CallbackHandler callback = new JaasCertificateCallbackHandler(peerCertificates); LoginContext lc = new LoginContext(jaasConfiguration, callback); lc.login(); Subject subject = lc.getSubject(); String dnName = ""; for (Principal principal : subject.getPrincipals()) { if (principal instanceof UserPrincipal) { dnName = ((UserPrincipal)principal).getName(); break; } } return new JaasCertificateSecurityContext(dnName, subject, peerCertificates); } catch (Exception e) { throw new SecurityException("User name [" + username + "] or password is invalid. " + e.getMessage(), e); } } }
@Override public SecurityContext authenticate(String username, String password, X509Certificate[] peerCertificates) throws SecurityException { try { CallbackHandler callback = new JaasCertificateCallbackHandler(peerCertificates); LoginContext lc = new LoginContext(jaasConfiguration, callback); lc.login(); Subject subject = lc.getSubject(); String dnName = ""; for (Principal principal : subject.getPrincipals()) { if (principal instanceof UserPrincipal) { dnName = ((UserPrincipal)principal).getName(); break; } } return new JaasCertificateSecurityContext(dnName, subject, peerCertificates); } catch (Exception e) { throw new SecurityException("User name [" + username + "] or password is invalid. " + e.getMessage(), e); } } }
SecurityContext s = new JaasCertificateSecurityContext(dnName, subject, (X509Certificate[])info.getTransportContext()); context.setSecurityContext(s); } catch (Exception e) {