/// <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"); } }
/// <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); }