Exemple #1
0
        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
        }
Exemple #2
0
        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
            }
        }
Exemple #3
0
        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();
            }
        }