public SSOUser getRemoteUser(SSOSite site, String remoteUsername ) { try{ return ssoUserManagerSPI.getUser(remoteUsername, site.getSecurityDomainId()); } catch (SecurityException secex){ log.debug("Could not find SSO user with name "+remoteUsername+" from remote site "+site.getName()+" (domain id: "+site.getSecurityDomainId()+")", secex); return null; } }
protected void cacheSite(SSOSite site){ if (getCachedSiteByDomainId(site.getSecurityDomainId()) != null){ removeSiteFromCache(site); } mapSiteUrlIndex.put(site.getURL(), site); mapSiteDomainIndex.put(site.getSecurityDomainId(), site); mapSiteNameIndex.put(site.getName(), site); }
public Collection<SSOUser> getUsersForSite(SSOSite site) throws SSOException { try{ return ssoUserManagerSPI.getUsers("", site.getSecurityDomainId()); } catch (SecurityException e){ throw new SSOException("Could not fetch SSO users for site "+site.getName(),e); } }
public void updateSite(SSOSite site) throws SSOException { SSOSite currentSite = ssoSiteManagerSPI.getById(site.getId()); if (currentSite == null){ throw new SSOException("Unable to update site: site doesn't exist."); } if (!currentSite.getName().equals(site.getName())){ if (domainAccessManager.getDomainByName(site.getName()) != null){ throw new SSOException("Unable to rename site to '"+site.getName()+"': a security domain with that name already exists!"); } SecurityDomain domain = domainAccessManager.getDomain(currentSite.getSecurityDomainId()); SecurityDomainImpl renamedDomain = new SecurityDomainImpl(domain); renamedDomain.setName(site.getName()); try{ domainStorageManager.updateDomain(renamedDomain); } catch (SecurityException secex){ throw new SSOException("Unable to rename security domain "+domain.getName()+" to "+site.getName()+".",secex); } } ssoSiteManagerSPI.update(site); }
public SSOSite add(SSOSite ssoSite) throws SSOException { try { getPersistenceBrokerTemplate().store(ssoSite); cacheSite(ssoSite); return ssoSite; } catch (Exception e) { String msg = "Unable to add SSO Site: " + ssoSite.getName(); log.error(msg, e); throw new SSOException(msg, e); } }
public void remove(SSOSite site) throws SSOException { try { getPersistenceBrokerTemplate().delete(site); removeSiteFromCache(site); } catch (Exception e) { String msg = "Unable to remove SSO Site: " + site.getName(); log.error(msg, e); throw new SSOException(msg, e); } }
public void update(SSOSite site) throws SSOException { try { getPersistenceBrokerTemplate().store(site); cacheSite(site); } catch (Exception e) { String msg = "Unable to remove SSO Site: " + site.getName(); log.error(msg, e); throw new SSOException(msg, e); } }
public void removeSite(SSOSite site) throws SSOException { SecurityDomain domain = domainAccessManager.getDomain(site.getSecurityDomainId()); if (domain != null){ try{ domainStorageManager.removeDomain(domain); } catch (SecurityException secex){ throw new SSOException("Unable to remove security domain (id:"+site.getSecurityDomainId()+") associated with the SSO Site "+site.getName()); } } ssoSiteManagerSPI.remove(site); }
protected SSOSite addSite(Long ownerDomainId, SSOSite site) throws SSOException if (domainAccessManager.getDomainByName(site.getName()) != null){ throw new SSOException(SSOException.SITE_ALREADY_EXISTS); sd.setName(site.getName()); sd.setOwnerDomainId(ownerDomainId); sd.setEnabled(true); domainStorageManager.addDomain(sd); } catch(SecurityException sx){ log.error("Could not add remote security domain with name "+site.getName()+" for owner domain "+ownerDomainId); throw new SSOException(SSOException.SITE_COULD_NOT_BE_CREATED,sx); SecurityDomain storedDomain = domainAccessManager.getDomainByName(site.getName()); if (storedDomain == null || storedDomain.getDomainId() == null){ throw new SSOException(SSOException.SITE_COULD_NOT_BE_CREATED);
site.setName(s.getName()); site.setSiteURL(s.getURL()); site.setAllowUserSet(s.isAllowUserSet());