/// <summary> /// Effettua il login di un utente amministratore /// </summary> /// <param name="utente"></param> /// <param name="loginResult"></param> /// <returns></returns> public bool LoginAdminUser(DocsPaVO.utente.UserLogin userLogin, bool forceLogin, out DocsPaVO.amministrazione.InfoUtenteAmministratore utente, out DocsPaVO.utente.UserLogin.LoginResult loginResult) { bool retValue = false; utente = null; loginResult = UserLogin.LoginResult.UNKNOWN_USER; DocsPaVO.utente.Utente utenteDocsPa; retValue = (this.LoginUser(userLogin, out utenteDocsPa, out loginResult)); if (retValue) { loginResult = UserLogin.LoginResult.OK; utente = new DocsPaVO.amministrazione.InfoUtenteAmministratore(); utente.dst = utenteDocsPa.dst; } return(retValue); }
/// <summary> /// Effettua il login di un utente amministratore /// </summary> /// <param name="utente"></param> /// <param name="loginResult"></param> /// <returns></returns> public bool LoginAdminUser(DocsPaVO.utente.UserLogin userLogin, bool forceLogin, out DocsPaVO.amministrazione.InfoUtenteAmministratore utente, out DocsPaVO.utente.UserLogin.LoginResult loginResult) { utente = null; loginResult = UserLogin.LoginResult.UNKNOWN_USER; try { // Connessione al sistema ETDOCS bool connected = this.UserManagerETDOCS.LoginAdminUser(userLogin, forceLogin, out utente, out loginResult); if (connected) { DocsPaVO.amministrazione.InfoUtenteAmministratore utenteDTCM; // Connessione al sistema DOCUMENTUM connected = this.UserManagerDocumentum.LoginAdminUser(userLogin, forceLogin, out utenteDTCM, out loginResult); // Assegnazione dell'id di sessione DOCUMENTUM if (connected) { // Aggiornamento valore token di autenticazione in ETDOCS connected = this.UpdateUserToken(utenteDTCM.dst, utente.dst); if (connected) { utente.dst = utenteDTCM.dst; } else { utente.dst = null; } } } return(connected); } catch (Exception ex) { string errorMessage = string.Format("Errore nella login dell'utente al sistema documentale: {0}", ex.Message); logger.Debug(errorMessage); throw new ApplicationException(errorMessage, ex); } }
/// <summary> /// Effettua il login di un utente amministratore /// </summary> /// <param name="utente"></param> /// <param name="loginResult"></param> /// <returns></returns> public bool LoginAdminUser(DocsPaVO.utente.UserLogin userLogin, bool forceLogin, out DocsPaVO.amministrazione.InfoUtenteAmministratore utente, out DocsPaVO.utente.UserLogin.LoginResult loginResult) { return(this.Instance.LoginAdminUser(userLogin, forceLogin, out utente, out loginResult)); }
/// <summary> /// Effettua il login di un utente amministratore /// </summary> /// <param name="utente"></param> /// <param name="loginResult"></param> /// <returns></returns> public bool LoginAdminUser(DocsPaVO.utente.UserLogin userLogin, bool forceLogin, out DocsPaVO.amministrazione.InfoUtenteAmministratore utente, out DocsPaVO.utente.UserLogin.LoginResult loginResult) { utente = null; loginResult = UserLogin.LoginResult.UNKNOWN_USER; try { DocsPaVO.amministrazione.InfoUtenteAmministratore infoAdmin = null; using (DocsPaDB.Query_DocsPAWS.Amministrazione amministrazioneDb = new DocsPaDB.Query_DocsPAWS.Amministrazione()) { // Reperimento metadati dell'utente amministratore (senza gestione password criptate) infoAdmin = amministrazioneDb.GetDatiAmministratore(userLogin.UserName); if (infoAdmin != null) { // Connessione al sistema CDC se altro tipo di amministratore if (this.UserManagerOCS.LoginAdminUser(userLogin, forceLogin, out utente, out loginResult)) { // L'utente si è connesso con successo al sistema mediante i servizi forniti da CDC, // pertanto vengono fatte le opportune operazioni in etdocs per validare la connessione bool userAlreadyConnected; if (!amministrazioneDb.LoginAmministratore(utente, userLogin.IPAddress, userLogin.SessionId, forceLogin, out userAlreadyConnected)) { utente.dst = null; if (userAlreadyConnected) { // Utente già connesso loginResult = DocsPaVO.utente.UserLogin.LoginResult.USER_ALREADY_LOGGED_IN; } else { loginResult = DocsPaVO.utente.UserLogin.LoginResult.UNKNOWN_USER; } } else { utente.idPeople = infoAdmin.idPeople; utente.tipoAmministratore = infoAdmin.tipoAmministratore; utente.nome = infoAdmin.nome; utente.cognome = infoAdmin.cognome; utente.idAmministrazione = infoAdmin.idAmministrazione; utente.idCorrGlobali = infoAdmin.idCorrGlobali; loginResult = DocsPaVO.utente.UserLogin.LoginResult.OK; } } } else { loginResult = UserLogin.LoginResult.UNKNOWN_USER; } } return(loginResult == UserLogin.LoginResult.OK); } catch (Exception ex) { string errorMessage = string.Format("Errore nella login dell'utente al sistema documentale: {0}", ex.Message); logger.Debug(errorMessage); throw new ApplicationException(errorMessage, ex); } }
/// <summary> /// Effettua il login di un utente amministratore /// </summary> /// <param name="utente"></param> /// <param name="loginResult"></param> /// <returns></returns> public bool LoginAdminUser(DocsPaVO.utente.UserLogin userLogin, bool forceLogin, out DocsPaVO.amministrazione.InfoUtenteAmministratore utente, out DocsPaVO.utente.UserLogin.LoginResult loginResult) { bool retValue = false; utente = null; loginResult = DocsPaVO.utente.UserLogin.LoginResult.UNKNOWN_USER; AdminPasswordConfig pwdConfig = new AdminPasswordConfig(); DocsPaDB.Query_DocsPAWS.Amministrazione amministrazioneDb = new DocsPaDB.Query_DocsPAWS.Amministrazione(); // Verifica se è supportata la gestione delle configurazioni password (con supporto per encryption) if (pwdConfig.IsSupportedPasswordConfig()) { // Verifica della validità delle credenziali utente if (DocsPaPwdServices.UserPasswordServices.IsValidForLogon(userLogin.UserName, userLogin.Password)) { // Reperimento metadati dell'utente amministratore (con gestione password criptate) utente = amministrazioneDb.GetDatiAmministratoreEncrypted(userLogin.UserName, userLogin.Password); } } else { // Reperimento metadati dell'utente amministratore (senza gestione password criptate) utente = amministrazioneDb.GetDatiAmministratore(userLogin.UserName); } if (utente == null) { // Utente non riconosciuto loginResult = DocsPaVO.utente.UserLogin.LoginResult.UNKNOWN_USER; logger.Debug(string.Format("Utente {0} non riconosciuto", userLogin.UserName)); } else { bool userAlreadyConnected; // Creazione token di autenticazione utente.dst = this.CreateUserToken(); // Connessione come utente amministratore if (!amministrazioneDb.LoginAmministratore(utente, userLogin.IPAddress, userLogin.SessionId, forceLogin, out userAlreadyConnected)) { utente.dst = null; if (userAlreadyConnected) { // Utente già connesso loginResult = DocsPaVO.utente.UserLogin.LoginResult.USER_ALREADY_LOGGED_IN; } else { loginResult = DocsPaVO.utente.UserLogin.LoginResult.UNKNOWN_USER; } } else { retValue = true; loginResult = DocsPaVO.utente.UserLogin.LoginResult.OK; } } return(retValue); }
/// <summary> /// Effettua il login di un utente amministratore /// </summary> /// <param name="utente"></param> /// <param name="loginResult"></param> /// <returns></returns> public bool LoginAdminUser(DocsPaVO.utente.UserLogin userLogin, bool forceLogin, out DocsPaVO.amministrazione.InfoUtenteAmministratore utente, out DocsPaVO.utente.UserLogin.LoginResult loginResult) { // Per la login in amministrazione, la gestione è delegata al documentale etdocs IUserManager etdocsUserManager = new DocsPaDocumentale_ETDOCS.Documentale.UserManager(); return(etdocsUserManager.LoginAdminUser(userLogin, forceLogin, out utente, out loginResult)); }
/// <summary> /// Effettua il login di un utente amministratore /// </summary> /// <param name="utente"></param> /// <param name="loginResult"></param> /// <returns></returns> public bool LoginAdminUser(DocsPaVO.utente.UserLogin userLogin, bool forceLogin, out DocsPaVO.amministrazione.InfoUtenteAmministratore utente, out DocsPaVO.utente.UserLogin.LoginResult loginResult) { utente = null; loginResult = UserLogin.LoginResult.UNKNOWN_USER; try { // Connessione al sistema ETDOCS bool connected = this.UserManagerETDOCS.LoginAdminUser(userLogin, forceLogin, out utente, out loginResult); return(connected); } catch (Exception ex) { string errorMessage = string.Format("Errore nella login dell'utente al sistema documentale: {0}", ex.Message); logger.Debug(errorMessage); throw new ApplicationException(errorMessage, ex); } }