private void Page_Load(object sender, System.EventArgs e) { string policyAgent = null; policyAgent = ConfigSettings.getKey(ConfigSettings.KeysENUM.POLICY_AGENT_ENABLED); if ((policyAgent != null && policyAgent.ToUpper() == Boolean.TrueString.ToUpper())) { VICLoad = new vic.Integra(Context, ""); } // Put user code to initialize the page here }
private void Page_Load(object sender, System.EventArgs e) { if (GetShibSSOEnabled()) { LoginShibboleth(); } else if (this.IsActiveCAS) { this.loginMultiView.ActiveViewIndex = 1; this.LoginCAS(); } else { //Interazione IAM-GFD string policyAgent = null; policyAgent = ConfigSettings.getKey(ConfigSettings.KeysENUM.POLICY_AGENT_ENABLED); //Autenticazione Windows bool windows_auth = Convert.ToBoolean(ConfigSettings.getKey(ConfigSettings.KeysENUM.AUTENTICAZIONE_WINDOWS)); if (windows_auth) { RegisterStartupScript("nascondiSitoAccessibile", "<script>nascondiSitoAccessibile();</script>"); } else if ((policyAgent != null && policyAgent.ToUpper() == Boolean.TrueString.ToUpper())) { RegisterStartupScript("nascondiSitoAccessibile", "<script>nascondiSitoAccessibile();</script>"); } //Fine Integrazione IAM-GFD if (Request.QueryString["ForceLogin"] != null && Request.QueryString["ForceLogin"].ToUpper() == Boolean.TrueString.ToUpper()) { // Gestione login forzato Page.RegisterStartupScript("NotifyUser", null); // Fa in modo che lo script non venga lanciato string administeredLogin = null; try { administeredLogin = ConfigSettings.getKey(ConfigSettings.KeysENUM.ADMINISTERED_LOGIN_MODE); } catch (Exception) { } if (administeredLogin == null || administeredLogin.ToUpper() == Boolean.FalseString.ToUpper()) { if (Session["loginData"] == null || !this.ForcedLogin((DocsPAWA.DocsPaWR.UserLogin)Session["loginData"])) { this.lbl_error.Text = "Errore durante la chiusura della connessione esistente."; } } } else { Session.RemoveAll(); } // Se la query string contiene groupId, docNumber o idProfile... if (!(String.IsNullOrEmpty(Request["groupId"]) || String.IsNullOrEmpty(Request["docNumber"]) || String.IsNullOrEmpty(Request["idProfile"]))) { // ...è stata richiesta la visualizzazione di un oggetto dall'esterno // quindi viene immesso in sessione la query string Session["visualizzaLink"] = Request.QueryString.ToString(); } // Se la query string contiene idAmministrazione, tipoOggetto, idObj o tipoProto... if (!(String.IsNullOrEmpty(Request["idAmministrazione"]) || String.IsNullOrEmpty(Request["tipoOggetto"]) || String.IsNullOrEmpty(Request["idObj"]))) { // ...è stata richiesta la visualizzazione di un oggetto dall'esterno // quindi viene immesso in sessione la query string Session["visualizzaOggetto"] = Request.QueryString.ToString(); } m_idAmministrazione = this.sel_amministrazioni.Value; getQueryStringParameter(); this.caricaLoghi(); this.LoadStaticRootPath(); this.caricaLogoAmministrazione(); //Inizio integrazione IAM-GFD if ((policyAgent != null && policyAgent.ToUpper() == Boolean.TrueString.ToUpper())) { #region iam RegisterStartupScript("nascondiSitoAccessibile", "<script>nascondiSitoAccessibile();</script>"); this.lblPassword.Visible = false; this.passwordConfirm.Visible = false; this.userid.Visible = false; this.Label2.Visible = false; this.lblPasswordConfirm.Visible = false; this.btn_login.Visible = false; this.password.Visible = false; if ((Request.QueryString["ForceLogin"] == null || !(Request.QueryString["ForceLogin"].ToUpper() == Boolean.TrueString.ToUpper()))) { vic.Integra VIC = new vic.Integra(Context, ""); this.userid.Text = VIC.amData.account.ToString(); if (this.ddl_Amministrazioni.SelectedItem != null) { m_idAmministrazione = this.ddl_Amministrazioni.SelectedItem.Value; } this.sel_amministrazioni.Value = m_idAmministrazione; string message = string.Empty; DocsPaWR.UserLogin userLogin = this.CreateUserLogin(); userLogin.Token = VIC.amData.account.ToString() + '&' + VIC.amData.codFiscale.ToString() + '&' + VIC.amData.matricola.ToString(); //DocsPaVO.utente. string appo = VIC.amData.account.ToString() + "&" + ConfigSettings.getKey(ConfigSettings.KeysENUM.CHIAVE_TOKEN).ToString() + '&' + VIC.amData.codFiscale.ToString() + '&' + VIC.amData.matricola.ToString(); byte[] bt_datiInput = ASCIIEncoding.ASCII.GetBytes(appo); userLogin.Token = userLogin.Token + '&' + DocsPaUtils.Security.CryptographyManager.CalcolaImpronta(bt_datiInput); //userLogin.Token = "aaa"; if (String.IsNullOrEmpty(VIC.amData.account.ToString()) || String.IsNullOrEmpty(VIC.amData.codFiscale.ToString()) || String.IsNullOrEmpty(VIC.amData.matricola.ToString())) { this.lbl_error.Text = "L'utente non è autorizzato ad accedere all'applicazione"; this.lbl_error.Visible = true; this.pnl_error.Visible = true; this.logged = false; } else { if (!loginAction(userLogin, out message)) { this.lbl_error.Text = message; this.lbl_error.Visible = true; this.pnl_error.Visible = true; } else { this.logged = true; } } } #endregion iam } else if (windows_auth) { #region windows auth WindowsPrincipal windows_user = (HttpContext.Current.User as WindowsPrincipal); var dati_user = windows_user.Identity.Name.Split('\\'); var dominio = dati_user[0].ToString().ToUpper(); var userN = dati_user[1].ToString().ToUpper(); string tipo_auth = windows_user.Identity.AuthenticationType; RegisterStartupScript("nascondiSitoAccessibile", "<script>nascondiSitoAccessibile();</script>"); this.lblPassword.Visible = false; this.passwordConfirm.Visible = false; this.userid.Visible = false; this.Label2.Visible = false; this.lblPasswordConfirm.Visible = false; this.btn_login.Visible = false; this.password.Visible = false; if ((Request.QueryString["ForceLogin"] == null || !(Request.QueryString["ForceLogin"].ToUpper() == Boolean.TrueString.ToUpper()))) { this.userid.Text = userN; if (this.ddl_Amministrazioni.SelectedItem != null) { m_idAmministrazione = this.ddl_Amministrazioni.SelectedItem.Value; } this.sel_amministrazioni.Value = m_idAmministrazione; string message = string.Empty; DocsPaWR.UserLogin userLogin = this.CreateUserLogin(); userLogin.Token = userN + '&' + dominio + '&' + tipo_auth; //DocsPaVO.utente. string appo = userN + "&" + ConfigSettings.getKey(ConfigSettings.KeysENUM.CHIAVE_TOKEN).ToString() + '&' + dominio + '&' + tipo_auth; byte[] bt_datiInput = ASCIIEncoding.ASCII.GetBytes(appo); userLogin.Token = userLogin.Token + '&' + DocsPaUtils.Security.CryptographyManager.CalcolaImpronta(bt_datiInput); //userLogin.Token = "aaa"; if (String.IsNullOrEmpty(userN) || String.IsNullOrEmpty(dominio) || String.IsNullOrEmpty(tipo_auth)) { this.lbl_error.Text = "L'utente non è autorizzato ad accedere all'applicazione"; this.lbl_error.Visible = true; this.pnl_error.Visible = true; this.logged = false; } else { if (!loginAction(userLogin, out message)) { this.lbl_error.Text = message; this.lbl_error.Visible = true; this.pnl_error.Visible = true; } else { this.logged = true; } } } #endregion windows auth } //Fine Integrazione IAM-GFD } }
public void ExecuteForcedLogin() { try { DocsPaWR.UserLogin lgn = new DocsPAWA.DocsPaWR.UserLogin(); /* Integrazione IAM*/ string policyAgent = null; policyAgent = ConfigSettings.getKey(ConfigSettings.KeysENUM.POLICY_AGENT_ENABLED); if ((policyAgent != null && policyAgent.ToUpper() == Boolean.TrueString.ToUpper())) { vic.Integra VIC = new vic.Integra(Context, ""); lgn.UserName = VIC.amData.account.ToString(); lgn.Token = VIC.amData.account.ToString() + '&' + VIC.amData.codFiscale.ToString() + '&' + VIC.amData.matricola.ToString(); string appo = VIC.amData.account.ToString() + "&" + ConfigSettings.getKey(ConfigSettings.KeysENUM.CHIAVE_TOKEN).ToString() + '&' + VIC.amData.codFiscale.ToString() + '&' + VIC.amData.matricola.ToString(); byte[] bt_datiInput = ASCIIEncoding.ASCII.GetBytes(appo); lgn.Token = lgn.Token + '&' + DocsPaUtils.Security.CryptographyManager.CalcolaImpronta(bt_datiInput); if (String.IsNullOrEmpty(VIC.amData.account.ToString()) || String.IsNullOrEmpty(VIC.amData.codFiscale.ToString()) || String.IsNullOrEmpty(VIC.amData.matricola.ToString())) { this.ErrorMessage = this.ErrorMessage = INCORRECT_DATA_FORMAT_ACCESS_MANAGER; return; } } else { lgn.UserName = UserId; lgn.Password = UserPwd; } /*fine Integrazione IAM*/ lgn.IdAmministrazione = IdAmministrazione; DocsPaWR.LoginResult loginResult; utente = UserManager.ForcedLogin(this.Page, lgn, out loginResult); switch (loginResult) { case DocsPAWA.DocsPaWR.LoginResult.OK: ErrorMessage = null; break; case DocsPAWA.DocsPaWR.LoginResult.UNKNOWN_USER: ErrorMessage = UNKNOWN_USER_MSG; pgType = PageType.authentication; break; case DocsPAWA.DocsPaWR.LoginResult.USER_ALREADY_LOGGED_IN: ErrorMessage = USER_ALREADY_LOGGED_MSG; string loginMode = null; try { loginMode = ConfigSettings.getKey(ConfigSettings.KeysENUM.ADMINISTERED_LOGIN_MODE); } catch (Exception) {} if (loginMode == null || loginMode.ToUpper() == Boolean.TrueString.ToUpper()) { // Gestione tramite tool di amministrazione pgType = PageType.authentication; } else { ErrorMessage = USER_ALREADY_LOGGED_ASK_FOR_FORCE_MSG; pgType = PageType.choice; } break; case DocsPAWA.DocsPaWR.LoginResult.DISABLED_USER: ErrorMessage = DISABLED_USER_MSG; pgType = PageType.authentication; break; case DocsPAWA.DocsPaWR.LoginResult.NO_RUOLI: ErrorMessage = USER_WITH_NO_RULE_MSG; pgType = PageType.authentication; break; default: // Application Error ErrorMessage = GENERIC_ERROR_MSG; pgType = PageType.authentication; break; } } catch (Exception) { ErrorMessage = GENERIC_ERROR_MSG; pgType = PageType.authentication; } if (utente == null) { AddToSession(); } else { if (utente.ruoli.Length > 0) { utente.ruoli[0].selezionato = true; } UserManager.setUtente(this.Page, utente); //Session["userData"] = utente; UserManager.setRuolo(this.Page, utente.ruoli[0]); if (utente.ruoli[0].registri != null && utente.ruoli[0].registri.Length > 0) { UserManager.setRegistroSelezionato(this.Page, utente.ruoli[0].registri[0]); } this.GoToHomePage(); } }