@Override protected LoginService getHandlerLoginService() { if (loginService == null) { loginService = new JAASLoginService(); loginService.setLoginModuleName("JASPI"); loginService.setConfiguration(getLoginModuleConfiguration()); loginService.setIdentityService(getHandlerIdentityService()); } return loginService; }
@Override protected LoginService getHandlerLoginService() { JAASLoginService jaasLoginService = new JAASLoginService(); jaasLoginService.setLoginModuleName("jaasLoginService"); jaasLoginService.setConfiguration(getLoginModuleConfiguration()); return jaasLoginService; } }
JAASUserPrincipal userPrincipal = new JAASUserPrincipal(getUserName(callbackHandler), subject, loginContext); subject.getPrincipals().add(userPrincipal); return identityService.newUserIdentity(subject, userPrincipal, getGroups(subject)); } catch (LoginException e) { LOG.debug(e);
@SuppressWarnings({ "unchecked", "rawtypes" }) private String[] getGroups (Subject subject) { //get all the roles of the various types String[] roleClassNames = getRoleClassNames(); Collection<String> groups = new LinkedHashSet<>(); try { for (String roleClassName : roleClassNames) { Class loadClass = Thread.currentThread().getContextClassLoader().loadClass(roleClassName); Set<Principal> rolesForType = subject.getPrincipals(loadClass); for (Principal principal : rolesForType) { groups.add(principal.getName()); } } return groups.toArray(new String[groups.size()]); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } }