예제 #1
0
        /// <summary>
        /// Nuova gestione della Login con gli utenti amm.ri profilati
        /// </summary>
        private void LoginProfilata()
        {
            try
            {
                string userId       = this.txt_userid.Text.Trim();
                string userPassword = this.txt_pwd.Text.Trim();

                if (!string.IsNullOrEmpty(userId) && !string.IsNullOrEmpty(userPassword))
                {
                    DocsPAWA.AdminTool.Manager.AmministrazioneManager manager = new DocsPAWA.AdminTool.Manager.AmministrazioneManager();
                    DocsPAWA.DocsPaWR.EsitoOperazione esito = new DocsPAWA.DocsPaWR.EsitoOperazione();

                    DocsPAWA.DocsPaWR.UserLogin userLogin = new DocsPAWA.DocsPaWR.UserLogin();
                    userLogin.UserName  = userId;
                    userLogin.Password  = userPassword;
                    userLogin.SessionId = Session.SessionID;
                    userLogin.IPAddress = this.Request.UserHostAddress;

                    esito = manager.Login(userLogin, false, out datiAmministratore);

                    // gestione della sessione dei dati dell'utente amministratore
                    DocsPAWA.AdminTool.Manager.SessionManager session = new DocsPAWA.AdminTool.Manager.SessionManager();
                    session.setUserAmmSession(datiAmministratore);

                    switch (esito.Codice)
                    {
                    case 0:                             // tutto ok
                        this._userID  = this.txt_userid.Text.Trim();
                        this._userPWD = this.txt_pwd.Text.Trim();
                        this.gotoHomePageProfilata();
                        break;

                    case 1:                             // errore generico
                        this.GUI("error");
                        session.removeUserAmmSession();
                        break;

                    case 99:                             // utente non riconosciuto
                        this.GUI("unknown");
                        session.removeUserAmmSession();
                        break;

                    case 100:                             // utente già connesso
                        this.GUI("locked");
                        this.hd_pwd.Value = userPassword;
                        break;

                    case 200:                             // ....NON GESTITO!... utente presente su più amministrazioni (non vale per il SYSTEM ADMIN [tipo = 1])
                        break;
                    }
                }
            }
            catch
            {
                this.GUI("error");
            }
        }
예제 #2
0
        /// <summary>
        /// nuovo per la gestione degli utenti profilati:
        /// se l'utente è di tipo USER ADMIN, imposta l'amministrazione corrente
        /// </summary>
        /// <returns></returns>
        private bool setCurrAmmAndMenu()
        {
            bool retValue = true;

            try
            {
                // reperimento dati dell'amministrazione alla quale appartiene l'utente loggato
                DocsPAWA.AdminTool.Manager.AmministrazioneManager manager = new DocsPAWA.AdminTool.Manager.AmministrazioneManager();
                //manager.GetAmmAppartenenza(this._userID, this._userPWD);
                if (datiAmministratore != null && !string.IsNullOrEmpty(datiAmministratore.idAmministrazione))
                {
                    manager.InfoAmmCorrente(datiAmministratore.idAmministrazione);
                }
                else
                {
                    manager.GetAmmAppartenenza(this._userID, this._userPWD);
                }
                if (manager.getCurrentAmm() != null)
                {
                    DocsPAWA.DocsPaWR.InfoAmministrazione amm = manager.getCurrentAmm();

                    string codice      = amm.Codice;
                    string descrizione = amm.Descrizione;
                    string dominio     = "";
                    string idAmm       = amm.IDAmm;

                    // imposta la sessione come se l'utente fosse passato dalla homepage ed avesse impostato l'amministrazione da gestire
                    Session["AMMDATASET"] = codice + "@" + descrizione + "@" + dominio + "@" + idAmm;

                    // prende le voci di menu associate a questo USER ADMIN
                    manager.GetAmmListaVociMenu(datiAmministratore.idCorrGlobali, amm.IDAmm);
                    DocsPAWA.DocsPaWR.Menu[] listaVociMenu = manager.getListaVociMenu();

                    if (listaVociMenu != null && listaVociMenu.Length > 0)
                    {
                        datiAmministratore.VociMenu = listaVociMenu;

                        DocsPAWA.AdminTool.Manager.SessionManager session = new DocsPAWA.AdminTool.Manager.SessionManager();
                        session.removeUserAmmSession();
                        session.setUserAmmSession(datiAmministratore);
                    }
                }
                else
                {
                    retValue = false;
                }
            }
            catch
            {
                retValue = false;
            }

            return(retValue);
        }