public boolean isPosixAccountsConfigured() { final LdapConfig ldapConfig = ldapService.getLdapConfig(); if (ldapConfig == null) { return false; } final LdapPosixAccountsConfig posixAccountsConfig = ldapConfig.getPosixAccountsConfig(); return posixAccountsConfig != null; }
public boolean isSambaAccountsConfigured() { final LdapConfig ldapConfig = ldapService.getLdapConfig(); if (ldapConfig == null) { return false; } final LdapSambaAccountsConfig sambaAccountsConfig = ldapConfig.getSambaAccountsConfig(); return sambaAccountsConfig != null && StringUtils.isNotBlank(sambaAccountsConfig.getSambaSIDPrefix()) == true; }
/** * @see org.projectforge.framework.configuration.ConfigurationListener#afterRead() */ @Override public void afterRead() { this.ldapConfig = ldapService.getLdapConfig(); if (this.ldapConfig != null && StringUtils.isNotBlank(this.ldapConfig.getSslCertificateFile()) == true) { // Try to load SSL certificate. MyTrustManager.getInstance().addCertificate("ldap", new File(this.ldapConfig.getSslCertificateFile())); } }
/** * Sets the LDAP values such as posix account properties of the given ldapGroup configured in the given xml string. * * @param ldapGroup * @param ldapValuesAsXml Posix account values as xml. */ public void setLdapValues(final LdapGroup ldapGroup, final String ldapValuesAsXml) { if (StringUtils.isBlank(ldapValuesAsXml) == true) { return; } final LdapConfig ldapConfig = ldapService.getLdapConfig(); final LdapPosixAccountsConfig posixAccountsConfig = ldapConfig != null ? ldapConfig.getPosixAccountsConfig() : null; if (posixAccountsConfig == null) { // No posix account default values configured return; } final LdapGroupValues values = readLdapGroupValues(ldapValuesAsXml); if (values == null) { return; } if (values.getGidNumber() != null) { ldapGroup.setGidNumber(values.getGidNumber()); } else { ldapGroup.setGidNumber(-1); } }
/** * Exports the LDAP values such as posix account properties of the given ldapGroup as xml string. * * @param ldapGroup */ public String getLdapValuesAsXml(final LdapGroup ldapGroup) { final LdapConfig ldapConfig = ldapService.getLdapConfig(); final LdapPosixAccountsConfig posixAccountsConfig = ldapConfig != null ? ldapConfig.getPosixAccountsConfig() : null; LdapGroupValues values = null; if (posixAccountsConfig != null) { values = new LdapGroupValues(); if (ldapGroup.getGidNumber() != null) { values.setGidNumber(ldapGroup.getGidNumber()); } } return getLdapValuesAsXml(values); }
/** * @see org.projectforge.business.login.LoginHandler#initialize() */ @Override public void initialize() { if (ldapConfig == null) { // May-be already set by test class. this.ldapConfig = ldapService.getLdapConfig(); if (ldapConfig == null || ldapConfig.getServer() == null) { log.warn("No LDAP configured in config.xml, so any login will be impossible!"); } } baseDN = ldapConfig.getBaseDN(); userBase = ldapConfig.getUserBase(); groupBase = ldapConfig.getGroupBase(); ldapConnector = new LdapConnector(ldapConfig); ldapGroupDao.setLdapConnector(ldapConnector); // May-be already set by test class. ldapUserDao.setLdapConnector(ldapConnector); ldapUserDao.setLdapPersonDao((LdapPersonDao) ldapPersonDao.setLdapConnector(ldapConnector)); if (ldapOrganizationalUnitDao == null) { // May-be already set by test class. ldapOrganizationalUnitDao = new LdapOrganizationalUnitDao(); ldapOrganizationalUnitDao.setLdapConnector(ldapConnector); } }
/** * Sets next free uid, the gid (configured in config.xml), the home directory (built of standard prefix and the given * user's username) and the configured login-shell. * * @param ldapUserValues * @param user */ public void setDefaultValues(final LdapUserValues ldapUserValues, final PFUserDO user) { final LdapConfig ldapConfig = ldapService.getLdapConfig(); LdapPosixAccountsConfig ldapPosixAccountsConfig = ldapConfig != null ? ldapConfig.getPosixAccountsConfig() : null; if (ldapPosixAccountsConfig == null) { ldapPosixAccountsConfig = new LdapPosixAccountsConfig(); } ldapUserValues.setUidNumber(getNextFreeUidNumber()); ldapUserValues.setGidNumber(ldapPosixAccountsConfig.getDefaultGidNumber()); ldapUserValues.setHomeDirectory(ldapPosixAccountsConfig.getHomeDirectoryPrefix() + user.getUsername()); ldapUserValues.setLoginShell(ldapPosixAccountsConfig.getDefaultLoginShell()); }
/** * Sets next free SambaSID or, if free and given the same id as the posix UID. * * @param ldapUserValues * @param user */ public void setDefaultValues(final LdapUserValues ldapUserValues, final PFUserDO user) { final LdapConfig ldapConfig = ldapService.getLdapConfig(); LdapSambaAccountsConfig ldapSambaAccountsConfig = ldapConfig != null ? ldapConfig.getSambaAccountsConfig() : null; if (ldapSambaAccountsConfig == null) { ldapSambaAccountsConfig = new LdapSambaAccountsConfig(); } if (ldapUserValues.getUidNumber() != null && isGivenNumberFree(user, ldapUserValues.getUidNumber()) == true) { ldapUserValues.setSambaSIDNumber(ldapUserValues.getUidNumber()); } else { ldapUserValues.setSambaSIDNumber(getNextFreeSambaSIDNumber()); } if (ldapSambaAccountsConfig.getDefaultSambaPrimaryGroupSID() != null) { ldapUserValues.setSambaPrimaryGroupSIDNumber(ldapSambaAccountsConfig.getDefaultSambaPrimaryGroupSID()); } }
return; final LdapConfig ldapConfig = ldapService.getLdapConfig(); final LdapPosixAccountsConfig posixAccountsConfig = ldapConfig != null ? ldapConfig.getPosixAccountsConfig() : null; if (posixAccountsConfig == null) {
ldapConfig = ldapService.getLdapConfig(); final boolean posixAccountsConfigured = isPosixAccountsConfigured(); final boolean sambaAccountsConfigured = isSambaAccountsConfigured();
final LdapConfig ldapConfig = ldapService.getLdapConfig(); final LdapPosixAccountsConfig posixAccountsConfig = ldapConfig != null ? ldapConfig.getPosixAccountsConfig() : null; final LdapSambaAccountsConfig sambaAccountsConfig = ldapConfig != null ? ldapConfig.getSambaAccountsConfig() : null;
final LdapSambaAccountsConfig ldapSambaAccountsConfig = ldapService.getLdapConfig() .getSambaAccountsConfig(); if (sambaConfigured == true) {