@Override public Principal getPrincipal() { if (this.principal == null && this.serializedPrincipal != null) { SerializablePrincipal sp = null; try { sp = (SerializablePrincipal) BlobHelper.deserializeBlob(this.serializedPrincipal); } catch (Exception e) { StringBuilder builder = new StringBuilder(); builder.append(this).append( ": Serialized principal contains a byte[] that cannot be deserialized due to the following exception"); ((DeltaSessionManager) getManager()).getLogger().warn(builder.toString(), e); return null; } this.principal = sp.getPrincipal(((DeltaSessionManager) this.manager).getTheContext().getRealm()); if (getManager() != null) { DeltaSessionManager mgr = (DeltaSessionManager) getManager(); if (mgr.getLogger().isDebugEnabled()) { mgr.getLogger().debug(this + ": Deserialized principal: " + this.principal); // mgr.logCurrentStack(); } } } return this.principal; }
Context context = (Context) host.findChild("/senateurs"); return context.getRealm();
protected Principal doLogin(Request request, String username, String password) throws ServletException { Principal p = context.getRealm().authenticate(username, password); if (p == null) { throw new ServletException(sm.getString("authenticator.loginFail")); } return p; }
protected Principal doLogin(Request request, String username, String password) throws ServletException { Principal p = context.getRealm().authenticate(username, password); if (p == null) { throw new ServletException(sm.getString("authenticator.loginFail")); } return p; }
protected Realm getRealm(HttpServletRequest request) { Context context = getContext(request); Realm realm = context.getRealm(); if (realm == null) throw new NullPointerException("Could not find Tomcat realm for: " + context.getPath()); return realm; } }
protected Principal doLogin(Request request, String username, String password) throws ServletException { Principal p = context.getRealm().authenticate(username, password); if (p == null) { throw new ServletException(sm.getString("authenticator.loginFail")); } return p; }
@Override public void containerEvent(final ContainerEvent event) { if (Context.class.isInstance(event.getData()) && Container.ADD_CHILD_EVENT.equals(event.getType())) { final Context context = Context.class.cast(event.getData()); if (context.getRealm() != context.getParent().getRealm()) { addTracker(context.getRealm()); } } } }
protected Realm getRealm(HttpServletRequest request) { CoyoteRequest creq = getRequest(request); return creq.getContext().getRealm(); } }
protected Realm getRealm(Request request) { String serverName = request.getServerName(); String contextPath = request.getContextPath(); Context context = request.getContext(); if (context == null) throw new NullPointerException("Could not find Tomcat context for: " + contextPath); Realm realm = context.getRealm(); if (realm == null) throw new NullPointerException("Could not find Tomcat realm for: " + serverName + "" + contextPath); return realm; }
protected RealmAdapter getRealm(HttpServletRequest request) { Request creq = getRequest(request); return (RealmAdapter)creq.getContext().getRealm(); }
/** * Create an instance of the {@link GenericPrincipal} * * @param request * @param username * @param roles * * @return */ public Principal createGenericPrincipal(Request request, String username, List<String> roles) { Context ctx = request.getContext(); return new GenericPrincipal(ctx.getRealm(), username, null, roles); } }
/** * Create an instance of the {@link GenericPrincipal} * * @param request * @param username * @param roles * * @return */ public Principal createGenericPrincipal(Request request, String username, List<String> roles) { Context ctx = request.getContext(); return new GenericPrincipal(ctx.getRealm(), username, null, roles); } }
/** * Create an instance of the {@link GenericPrincipal} * * @param request * @param username * @param roles * * @return */ public Principal createGenericPrincipal(Request request, String username, List<String> roles) { Context ctx = request.getContext(); return new GenericPrincipal(ctx.getRealm(), username, null, roles); } }
@Override public void logout() throws ServletException { Realm realm = (context == null ? null : context.getRealm()); if (realm == null) { if (getUserPrincipal() != null || getAuthType() != null) { throw new ServletException( rb.getString(LogFacade.INTERNAL_LOGOUT_ERROR)); } return; } /* * Pass the request (this). */ realm.logout(this); }
@Override protected void completeBearerAuthentication(KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal, String method) { RefreshableKeycloakSecurityContext securityContext = principal.getKeycloakSecurityContext(); Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); if (log.isLoggable(Level.FINE)) { log.fine("Completing bearer authentication. Bearer roles: " + roles); } Principal generalPrincipal = principalFactory.createPrincipal(request.getContext().getRealm(), principal, roles); request.setUserPrincipal(generalPrincipal); request.setAuthType(method); request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); }
@Override protected void completeBearerAuthentication(KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal, String method) { RefreshableKeycloakSecurityContext securityContext = principal.getKeycloakSecurityContext(); Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); if (log.isLoggable(Level.FINE)) { log.fine("Completing bearer authentication. Bearer roles: " + roles); } Principal generalPrincipal = principalFactory.createPrincipal(request.getContext().getRealm(), principal, roles); request.setUserPrincipal(generalPrincipal); request.setAuthType(method); request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); }
@Override public void saveAccountInfo(OidcKeycloakAccount account) { RefreshableKeycloakSecurityContext securityContext = (RefreshableKeycloakSecurityContext) account.getKeycloakSecurityContext(); Set<String> roles = account.getRoles(); GenericPrincipal principal = principalFactory.createPrincipal(request.getContext().getRealm(), account.getPrincipal(), roles); SerializableKeycloakAccount sAccount = new SerializableKeycloakAccount(roles, account.getPrincipal(), securityContext); Session session = request.getSessionInternal(true); session.setPrincipal(principal); session.setAuthType("KEYCLOAK"); session.getSession().setAttribute(SerializableKeycloakAccount.class.getName(), sAccount); session.getSession().setAttribute(KeycloakSecurityContext.class.getName(), account.getKeycloakSecurityContext()); String username = securityContext.getToken().getSubject(); log.fine("userSessionManagement.login: " + username); this.sessionManagement.login(session); }
@Override public void saveAccountInfo(OidcKeycloakAccount account) { RefreshableKeycloakSecurityContext securityContext = (RefreshableKeycloakSecurityContext) account.getKeycloakSecurityContext(); Set<String> roles = account.getRoles(); GenericPrincipal principal = principalFactory.createPrincipal(request.getContext().getRealm(), account.getPrincipal(), roles); SerializableKeycloakAccount sAccount = new SerializableKeycloakAccount(roles, account.getPrincipal(), securityContext); Session session = request.getSessionInternal(true); session.setPrincipal(principal); session.setAuthType("KEYCLOAK"); session.getSession().setAttribute(SerializableKeycloakAccount.class.getName(), sAccount); session.getSession().setAttribute(KeycloakSecurityContext.class.getName(), account.getKeycloakSecurityContext()); String username = securityContext.getToken().getSubject(); log.fine("userSessionManagement.login: " + username); this.sessionManagement.login(session); }
protected void startInternal() throws LifecycleException { super.startInternal(); logger.debug("{} starting.", getName()); final Realm realm = this.context.getRealm(); try { CommonUtils.assertTrue(realm instanceof CasRealm, "Expected CasRealm but got " + realm.getClass()); CommonUtils.assertNotNull(this.casServerUrlPrefix, "casServerUrlPrefix cannot be null."); CommonUtils.assertNotNull(this.delegate.getCasServerLoginUrl(), "casServerLoginUrl cannot be null."); CommonUtils.assertTrue(this.delegate.getServerName() != null || this.delegate.getServiceUrl() != null, "either serverName or serviceUrl must be set."); this.delegate.setRealm((CasRealm) realm); } catch (final Exception e) { throw new LifecycleException(e); } // Complete delegate initialization after the component is started. // See #lifecycleEvent() method. addLifecycleListener(this); }
@Override public void saveAccount(SamlSession account) { Session session = request.getSessionInternal(true); session.getSession().setAttribute(SamlSession.class.getName(), account); GenericPrincipal principal = (GenericPrincipal) session.getPrincipal(); // in clustered environment in JBossWeb, principal is not serialized or saved if (principal == null) { principal = principalFactory.createPrincipal(request.getContext().getRealm(), account.getPrincipal(), account.getRoles()); session.setPrincipal(principal); session.setAuthType("KEYCLOAK-SAML"); } request.setUserPrincipal(principal); request.setAuthType("KEYCLOAK-SAML"); String newId = changeSessionId(session); idMapperUpdater.map(idMapper, account.getSessionIndex(), account.getPrincipal().getSamlSubject(), newId); }