final CallerPrincipalCallback cpc = (CallerPrincipalCallback) callback; Principal originalPrincipal = cpc.getPrincipal(); final String callerName = cpc.getName(); final Principal callerPrincipal = originalPrincipal != null ? originalPrincipal : callerName != null ? new NamePrincipal(callerName) : null;
private static void handleCallbacks(Subject clientSubject, CallbackHandler handler, CallerPrincipalCallback callerPrincipalCallback, Set<String> groups) { if (clientSubject == null) { throw new IllegalArgumentException("Null clientSubject!"); } if (handler == null) { throw new IllegalArgumentException("Null callback handler!"); } try { if (groups == null || isEmpty(groups) || (callerPrincipalCallback.getPrincipal() == null && callerPrincipalCallback.getName() == null)) { // don't handle groups if null/empty or if caller is null handler.handle(new Callback[] { callerPrincipalCallback }); } else { handler.handle(new Callback[] { callerPrincipalCallback, new GroupPrincipalCallback(clientSubject, groups.toArray(new String[groups.size()])) }); } } catch (IOException | UnsupportedCallbackException e) { // Should not happen throw new IllegalStateException(e); } }
private static void handleCallbacks(Subject clientSubject, CallbackHandler handler, CallerPrincipalCallback callerPrincipalCallback, Set<String> groups) { if (clientSubject == null) { throw new IllegalArgumentException("Null clientSubject!"); } if (handler == null) { throw new IllegalArgumentException("Null callback handler!"); } try { if (groups == null || isEmpty(groups) || (callerPrincipalCallback.getPrincipal() == null && callerPrincipalCallback.getName() == null)) { // don't handle groups if null/empty or if caller is null handler.handle(new Callback[] { callerPrincipalCallback }); } else { handler.handle(new Callback[] { callerPrincipalCallback, new GroupPrincipalCallback(clientSubject, groups.toArray(new String[groups.size()])) }); } } catch (IOException | UnsupportedCallbackException e) { // Should not happen throw new IllegalStateException(e); } }
private boolean setCallerPrincipal(String caller, Subject clientSubject) { boolean rvalue = true; boolean assignGroups = true; // create CallerPrincipalCallback CallerPrincipalCallback cPCB = new CallerPrincipalCallback( clientSubject, caller); if (cPCB.getName() == null && cPCB.getPrincipal() == null) { assignGroups = false; } try { handler.handle((assignGroups ? new Callback[] { cPCB, new GroupPrincipalCallback(cPCB.getSubject(), assignedGroups) } : new Callback[] { cPCB })); logInfo(DEBUG_JMAC, "jmac.caller_principal:" + cPCB.getName() + " " + cPCB.getPrincipal()); } catch (Exception e) { // should not happen logger.log(Level.WARNING, "jmac.failed_to_set_caller", e); rvalue = false; } return rvalue; }
if (callerPrincipalCallback.getName() == null && callerPrincipalCallback.getPrincipal() == null) { assignGroups = false; assignedGroups)} : new Callback[]{callerPrincipalCallback})); LOGGER.log(Level.FINE, "jmac.caller_principal:{0} {1}", new Object[]{callerPrincipalCallback.getName(), callerPrincipalCallback.getPrincipal()}); } catch (Exception ex) { LOGGER.log(Level.SEVERE, "ERROR SAM!!!", ex);
if (callback instanceof CallerPrincipalCallback) { CallerPrincipalCallback cpc = (CallerPrincipalCallback) callback; name = cpc.getName(); principal = cpc.getPrincipal(); subject = cpc.getSubject();
public Callback handleCallerPrincipalCallbackWithMapping(CallerPrincipalCallback cpc) { CallerPrincipalCallback asCPC; Principal eisPrincipal = cpc.getPrincipal(); String eisName = cpc.getName(); Principal asPrincipal = getMappedPrincipal(eisPrincipal, eisName); asCPC = new CallerPrincipalCallback(cpc.getSubject(), asPrincipal); return asCPC; /* Set<Principal> principals = cpc.getSubject().getPrincipals(); for (Principal p : principals) { Principal mappedPrincipal = (Principal) securityMap.get(p); if (mappedPrincipal != null) { DistinguishedPrincipalCredential dpc = new DistinguishedPrincipalCredential(mappedPrincipal); cpc.getSubject().getPublicCredentials().add(dpc); } } SecurityContext.setCurrent(new SecurityContext(cpc.getSubject())); */ }
if (callback instanceof CallerPrincipalCallback) { CallerPrincipalCallback cpc = (CallerPrincipalCallback) callback; name = cpc.getName(); principal = cpc.getPrincipal(); subject = cpc.getSubject();
if (principal == null) String principalName = principalCallback.getName(); Set<Principal> principals = principalCallback.getSubject().getPrincipals(); for (Principal p : principals)
if (principal == null) String principalName = principalCallback.getName(); Set<Principal> principals = principalCallback.getSubject().getPrincipals(); for (Principal p : principals)
if (principal == null) String principalName = principalCallback.getName(); Set<Principal> principals = principalCallback.getSubject().getPrincipals(); for (Principal p : principals)
Principal principal = principalCallback.getPrincipal(); if (principal == null) { String principalName = principalCallback.getName(); Set<Principal> principals = principalCallback.getSubject().getPrincipals(); for (Principal p : principals) {
final CallerPrincipalCallback cpc = (CallerPrincipalCallback) callback; Principal originalPrincipal = cpc.getPrincipal(); final String callerName = cpc.getName(); final Principal callerPrincipal = originalPrincipal != null ? originalPrincipal : callerName != null ? new NamePrincipal(callerName) : null;
final CallerPrincipalCallback cpc = (CallerPrincipalCallback) callback; Principal originalPrincipal = cpc.getPrincipal(); final String callerName = cpc.getName(); final Principal callerPrincipal = originalPrincipal != null ? originalPrincipal : callerName != null ? new NamePrincipal(callerName) : null;