@Test public void getSambaSID() { LdapSambaAccountsConfig config = new LdapSambaAccountsConfig().setSambaSIDPrefix("123-456"); assertEquals("123-456-789", config.getSambaSID(789)); assertEquals("123-456-???", config.getSambaSID(null)); config = new LdapSambaAccountsConfig().setSambaSIDPrefix(null); assertEquals("S-000-000-000-789", config.getSambaSID(789)); assertEquals("S-000-000-000-???", config.getSambaSID(null)); }
@Test public void getSambaSIDNumber() { final LdapSambaAccountsConfig config = new LdapSambaAccountsConfig().setSambaSIDPrefix("123-456"); assertEquals(789, config.getSambaSIDNumber("123-456-789").intValue()); assertEquals(789, config.getSambaSIDNumber("-789").intValue()); assertEquals(1, config.getSambaSIDNumber("-1").intValue()); assertNull(config.getSambaSIDNumber("123456789")); assertNull(config.getSambaSIDNumber("")); assertNull(config.getSambaSIDNumber("-")); } }
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; }
@PostConstruct public void init() { this.ldapConfig = new LdapConfig(); this.ldapConfig.setServer(server); this.ldapConfig.setBaseDN(baseDN); this.ldapConfig.setManagerUser(managerUser); this.ldapConfig.setManagerPassword(managerPassword); this.ldapConfig.setPort(port); this.ldapConfig.setSslCertificateFile(sslCertificateFile); this.ldapConfig.setGroupBase(groupBase); this.ldapConfig.setUserBase(userBase); this.ldapConfig.setAuthentication(authentication); LdapPosixAccountsConfig posixAccountsConfig = new LdapPosixAccountsConfig(); if (posixAccountsDefaultGidNumber != null) { posixAccountsConfig.setDefaultGidNumber(posixAccountsDefaultGidNumber); } this.ldapConfig.setPosixAccountsConfig(posixAccountsConfig); LdapSambaAccountsConfig sambaAccountsConfig = new LdapSambaAccountsConfig(); sambaAccountsConfig.setSambaSIDPrefix(sambaAccountsSIDPrefix); if (sambaAccountsPrimaryGroupSID != null) { sambaAccountsConfig.setDefaultSambaPrimaryGroupSID(sambaAccountsPrimaryGroupSID); } this.ldapConfig.setSambaAccountsConfig(sambaAccountsConfig); }
/** * 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()); } }
ldapConfig.getSambaAccountsConfig().getSambaSID(user.getSambaSIDNumber())); createAndAddModificationItems(list, "sambaPrimaryGroupSID", ldapConfig.getSambaAccountsConfig().getSambaPrimaryGroupSID(user.getSambaPrimaryGroupSIDNumber())); createAndAddModificationItems(list, "sambaAcctFlags", "U "); createAndAddModificationItems(list, "sambaPasswordHistory",
final Integer sambaSIDNumber = ldapConfig.getSambaAccountsConfig().getSambaSIDNumber(sambaSID); user.setSambaSIDNumber(sambaSIDNumber); final String sambaPrimaryGroupSID = LdapUtils.getAttributeStringValue(attributes, "sambaPrimaryGroupSID"); final Integer sambaPrimaryGroupSIDNumber = ldapConfig.getSambaAccountsConfig() .getSambaSIDNumber(sambaPrimaryGroupSID); user.setSambaPrimaryGroupSIDNumber(sambaPrimaryGroupSIDNumber); user.setSambaNTPassword(LdapUtils.getAttributeStringValue(attributes, "sambaNTPassword"));
ldapSambaAccountsConfig.getSambaSIDPrefix() + "-"); fs.add(textPanel); sambaSIDNumberField = new MinMaxNumberField<Integer>(fs.getTextFieldId(), getString("ldap.sambaAccount")); final DivTextPanel textPanel = new DivTextPanel(fs.newChildId(), ldapSambaAccountsConfig.getSambaSIDPrefix() + "-"); fs.add(textPanel); sambaPrimaryGroupSIDNumberField = new MinMaxNumberField<Integer>(fs.getTextFieldId(),