コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="password"></param>
        /// <param name="sessionId"></param>
        /// <returns></returns>
        private DocsPaWR.UserLogin CreateUserLogin(string userId, string password, string sessionId)
        {
            //if (string.IsNullOrEmpty(password) && Session["multiPwd"] != null)
            if (string.IsNullOrEmpty(password) && ViewState["pwdMultiAmm"] != null)
            {
                password = ViewState["pwdMultiAmm"].ToString();
                ViewState.Remove("pwdMultiAmm");
            }
            DocsPaWR.UserLogin userLogin = new DocsPAWA.DocsPaWR.UserLogin();
            userLogin.UserName          = userId;
            userLogin.Password          = password;
            userLogin.IdAmministrazione = this.m_idAmministrazione;
            userLogin.IPAddress         = this.Request.UserHostAddress;
            userLogin.SessionId         = sessionId;

            DocsPaWR.BrowserInfo bra = new DocsPaWR.BrowserInfo();
            bra.activex        = Request.Browser.ActiveXControls.ToString();
            bra.browserType    = Request.Browser.Browser;
            bra.browserVersion = Request.Browser.Version;
            string clientIP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

            if (String.IsNullOrEmpty(clientIP))
            {
                clientIP = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
            }
            bra.ip         = clientIP;
            bra.javaApplet = Request.Browser.JavaApplets.ToString();
            bra.javascript = Request.Browser.JavaScript.ToString();
            bra.userAgent  = Request.UserAgent;

            userLogin.BrowserInfo = bra;

            return(userLogin);
        }
コード例 #2
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");
            }
        }
コード例 #3
0
        //private DocsPAWA.DocsPaWR.EsitoOperazione LoginAmministrazione(string userid, string pwd)
        //{
        //    AmmUtils.WebServiceLink ws = new AmmUtils.WebServiceLink();
        //    DocsPaWR.EsitoOperazione esito = new DocsPAWA.DocsPaWR.EsitoOperazione();

        //    esito = ws.Login(userid, pwd);

        //    return esito;
        //}

        private DocsPAWA.DocsPaWR.EsitoOperazione LoginAmministrazione(DocsPAWA.DocsPaWR.UserLogin userLogin, bool forceLogin, out DocsPAWA.DocsPaWR.InfoUtenteAmministratore datiAmministratore)
        {
            datiAmministratore = null;

            AmmUtils.WebServiceLink  ws    = new AmmUtils.WebServiceLink();
            DocsPaWR.EsitoOperazione esito = new DocsPAWA.DocsPaWR.EsitoOperazione();

            esito = ws.Login(userLogin, forceLogin, out datiAmministratore);

            return(esito);
        }
コード例 #4
0
 private DocsPaWR.UserLogin CreateUserLogin()
 {
     DocsPaWR.Utente utente = UserManager.getUtente(this);
     //return this.CreateUserLogin(utente.userId, this.txt_vecchiaPWD.Text, this.Session.SessionID);
     DocsPaWR.UserLogin userLogin = new DocsPAWA.DocsPaWR.UserLogin();
     userLogin.UserName          = utente.userId;
     userLogin.Password          = this.txt_vecchiaPWD.Text;
     userLogin.IdAmministrazione = utente.idAmministrazione;
     userLogin.IPAddress         = this.Request.UserHostAddress;
     userLogin.SessionId         = this.Session.SessionID;
     return(userLogin);
 }
コード例 #5
0
        private DocsPaWR.UserLogin CreateUserLogin()
        {
            DocsPaWR.UserLogin userLogin = new DocsPAWA.DocsPaWR.UserLogin();
            userLogin.UserName = txt_userID.Value;
            userLogin.Password = txt_password.Value;

            //string returnMsg = string.Empty;
            //DocsPaWR.Amministrazione[] amministrazioni = UserManager.getListaAmministrazioni(this, out returnMsg);
            //userLogin.IdAmministrazione = amministrazioni[0].systemId;

            userLogin.IPAddress = this.Request.UserHostAddress;
            return(userLogin);
        }
コード例 #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="lgn"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        private bool ForcedLogin(DocsPAWA.DocsPaWR.UserLogin lgn)
        {
            bool result = false;

            DocsPaWR.LoginResult loginResult;
            DocsPaWR.Utente      utente = UserManager.ForcedLogin(this, lgn, out loginResult);

            if (loginResult == DocsPAWA.DocsPaWR.LoginResult.OK)
            {
                result              = true;    // L'utente e' stato connesso
                utente.urlWA        = Utils.getHttpFullPath(this);
                Session["userData"] = utente;

                this.LaunchApplication();
            }

            return(result);
        }
コード例 #7
0
        private void AccessOnNewSessionProfilato()
        {
            try
            {
                DocsPAWA.AdminTool.Manager.AmministrazioneManager manager = new DocsPAWA.AdminTool.Manager.AmministrazioneManager();
                DocsPAWA.AdminTool.Manager.SessionManager         session = new DocsPAWA.AdminTool.Manager.SessionManager();
                DocsPAWA.DocsPaWR.EsitoOperazione esito = new DocsPAWA.DocsPaWR.EsitoOperazione();

                datiAmministratore = session.getUserAmmSession();

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

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

                if (esito.Codice.Equals(0))
                {
                    session.setUserAmmSession(datiAmministratore);

                    this._userID  = datiAmministratore.userId;
                    this._userPWD = this.hd_pwd.Value;
                    this.gotoHomePageProfilata();
                }
                else
                {
                    this.GUI("error");
                }
            }
            catch
            {
                this.GUI("error");
            }
        }
コード例 #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="lgn"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        private bool loginAction(DocsPAWA.DocsPaWR.UserLogin lgn, out string message)
        {
            bool resLogin = false;

            message = string.Empty;
            string ipaddress = "";

            DocsPaWR.LoginResult loginResult;
            DocsPaWR.Utente      utente = UserManager.login(this, lgn, out loginResult, out ipaddress);

            switch (loginResult)
            {
            case DocsPAWA.DocsPaWR.LoginResult.OK:
                resLogin = true;                         // L'utente e' stato connesso
                this.LaunchApplication();
                break;

            case DocsPAWA.DocsPaWR.LoginResult.UNKNOWN_USER:
                if ((ConfigSettings.getKey(ConfigSettings.KeysENUM.POLICY_AGENT_ENABLED) != null && ConfigSettings.getKey(ConfigSettings.KeysENUM.POLICY_AGENT_ENABLED).ToUpper() == Boolean.TrueString.ToUpper()))
                {
                    message = "L'utente non è autorizzato ad accedere all'applicazione";
                }
                else
                {
                    message = "Nome o password errati";
                }
                break;

            case DocsPAWA.DocsPaWR.LoginResult.USER_ALREADY_LOGGED_IN:
                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
                    message = "L'utente ha gia' una connessione aperta. Contattare l'amministrazione.";
                }
                else
                {
                    // Gestione autonoma da parte dell'utente
                    message = "L'utente ha gia' una connessione aperta.";

                    // Store login object
                    Session.Add("loginData", lgn);

                    // Lettura del valore della chiave di configurazione AUTO_FORCE_LOGIN
                    bool autoForce;
                    Boolean.TryParse(System.Configuration.ConfigurationManager.
                                     AppSettings["AUTO_FORCE_LOGIN"], out autoForce);

                    // Se è attiva la chiave di configurazione AUTO_FORCE_LOGIN
                    if (autoForce)
                    {
                        // ...allora redizioniamo la response aggiungendo forceLogin=True alla
                        // request
                        Response.Redirect("login.aspx?forceLogin=True", false);
                    }
                    else
                    {
                        // ...altrimenti si procede nel modo classico
                        string script = "<script>forceLogin('" + ipaddress + "');</script>";
                        Page.RegisterStartupScript("NotifyUser", script);
                    }
                }

                break;

            case DocsPAWA.DocsPaWR.LoginResult.DISABLED_USER:
                message = "Utente non abilitato";
                break;

            case DocsPAWA.DocsPaWR.LoginResult.NO_RUOLI:
                message = "L'utente non può accedere al sistema perché non è<br>associato a nessun ruolo";
                break;

            case DocsPAWA.DocsPaWR.LoginResult.NO_AMMIN:      //aggiunto sabrina
                m_idAmministrazione = "-1";
                message             = "Selezionare un'amministrazione";
                break;

            case DocsPAWA.DocsPaWR.LoginResult.PASSWORD_EXPIRED:
                // Gestione scadenza password
                this.OnPasswordExpired = true;
                this.OldPassword       = lgn.Password;
                message = "La password dell'utente risulta scaduta. Immettere una nuova password.";
                break;

            case DocsPAWA.DocsPaWR.LoginResult.DTCM_SERVICE_NO_CONTACT:

                message = "Errore, I Servizi del Documentale DTCM non sono raggiungibili.";
                break;

            case DocsPAWA.DocsPaWR.LoginResult.UNKNOWN_AMMIN:
                message = "Errore, Amministrazione inesistente.";
                break;

            case DocsPAWA.DocsPaWR.LoginResult.UNKNOWN_DTCM_USER:

                message = "Errore, L'utente non risulta presente nel Documentale DTCM.";
                break;

            case DocsPAWA.DocsPaWR.LoginResult.DB_ERROR:
                message = "Errore nella connessione al Database durante la procedura di login.";
                break;

            default:
                // Application Error
                message = "Errore nella procedura di Login. Contattare l'amministrazione.";
                break;
            }

            //Pec multi-amm
            //<
            hflLoginResult.Value = loginResult.ToString();
            //>
            if (resLogin)
            {
                utente.urlWA        = Utils.getHttpFullPath(this);
                Session["userData"] = utente;
            }
            return(resLogin);
        }
コード例 #9
0
        //public DocsPAWA.DocsPaWR.EsitoOperazione Login(string userid, string pwd)
        //{
        //    return LoginAmministrazione(userid, pwd);
        //}

        public DocsPAWA.DocsPaWR.EsitoOperazione Login(DocsPAWA.DocsPaWR.UserLogin userLogin, bool forceLogin, out DocsPAWA.DocsPaWR.InfoUtenteAmministratore datiAmministratore)
        {
            return(LoginAmministrazione(userLogin, forceLogin, out datiAmministratore));
        }
コード例 #10
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();
            }
        }