Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
            }
        }
Exemplo n.º 3
0
 /// <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));
 }
Exemplo n.º 4
0
        /// <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);
            }
        }
Exemplo n.º 5
0
        /// <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);
        }
Exemplo n.º 6
0
        /// <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));
        }
Exemplo n.º 7
0
        /// <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);
            }
        }