///// <summary> ///// ///// </summary> ///// <param name="idUser"></param> ///// <param name="ldapInfo"></param> //public static void SaveLdapUserConfig(string idUser, LdapConfig ldapInfo) //{ // using (DocsPaDB.TransactionContext transactionalContext = new DocsPaDB.TransactionContext()) // { // // Verifica se l'integrazione con ldap è attivata // LdapConfigurations.CheckForLdapIntegrationActivated(); // // Validazione dati di configurazione // ValidateConfigurations(ldapInfo); // DocsPaDB.Query_DocsPAWS.Ldap ldapDbServices = new DocsPaDB.Query_DocsPAWS.Ldap(); // ldapDbServices.SaveLdapUserConfig(idUser, ldapInfo); // transactionalContext.Complete(); // } //} /// <summary> /// Verifica se un determinato utente può collegarsi ad un archivio LDAP /// </summary> /// <param name="infoUtente"></param> /// <param name="userName"></param> /// <returns></returns> public static bool UserCanConnectToLdap(string userName) { string idAmministrazioneAsString; using (DocsPaDB.Query_DocsPAWS.Utenti utentiDb = new DocsPaDB.Query_DocsPAWS.Utenti()) utentiDb.GetIdAmmUtente(out idAmministrazioneAsString, userName); int idAmministrazione; Int32.TryParse(idAmministrazioneAsString, out idAmministrazione); if (idAmministrazione > 0) { // Solo gli utenti configurati in un amministrazione posso autenticarsi ad LDAP DocsPaVO.Ldap.LdapConfig configInfo = DocsPaLdapServices.LdapConfigurations.GetLdapConfig(idAmministrazioneAsString); DocsPaVO.Ldap.LdapUserConfig userConfigInfo = GetLdapUserConfigByName(userName); return(!string.IsNullOrEmpty(configInfo.ServerName) && !string.IsNullOrEmpty(configInfo.GroupDN) && userConfigInfo.LdapAuthenticated); } else { // Utente non associato ad un'amministrazione (es. SuperAdmin) return(false); } }
/// <summary> /// /// </summary> /// <param name="userId"></param> /// <returns></returns> private static int GetIdAmministrazione(string userId) { int idAmministrazione = ID_AMM_NULL; // Se non è stato immesso alcun valore per l'amministrazione, // è necessario reperire automaticamente l'id in base alla userid fornita DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti(); ArrayList ammList; utenti.GetIdAmmUtente(out ammList, userId); if (ammList != null && ammList.Count == 1) { Int32.TryParse(ammList[0].ToString(), out idAmministrazione); } return(idAmministrazione); }