protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            HttpCookie c = Request.Cookies["hash"];
            using (Uporabnik user = new Uporabnik(Session))
            {
                string action = Request.QueryString["action"] ?? "";
                #region logout
                if (action == "logout")
                {
                    if (c != null)
                    {
                        Response.Cookies["hash"].Expires = DateTime.Now.AddDays(-1);
                    }
                    user.logout(user.Id, null, Session, "");
                    Response.Redirect("Default.aspx", true);
                }
                #endregion
                if (!user.LoggedIn && (Request.HttpMethod == "POST" || c != null))
                {
                    string u = username.Text.Trim();
                    string p = password.Text.Trim();
                    bool   r = remember.Checked;
                    _ForceLogin = 1;

                    if (Request.HttpMethod != "POST")
                    {
                        #region cookie
                        string c_username = "";
                        string c_password = "";
                        if (c != null && !string.IsNullOrEmpty(c.Value))
                        {
                            try
                            {
                                string[] c_hash = Varnost.DecryptAES256(c.Value).Split(new string[] { "@-|@|-@" }, StringSplitOptions.None);
                                if (c_hash.Length == 3 && c_hash[2] == ConfigurationManager.AppSettings["EncryptKey"])
                                {
                                    c_username = c_hash[0].Trim();
                                    c_password = c_hash[1].Trim();
                                }
                                else
                                {
                                    throw new Exception();
                                }
                            }
                            catch
                            {
                                Response.Cookies["hash"].Expires = DateTime.Now.AddDays(-1);
                                Response.Redirect("Default.aspx", true);
                            }
                        }
                        if (string.IsNullOrEmpty(u))
                        {
                            u = c_username;
                        }
                        if (string.IsNullOrEmpty(p))
                        {
                            p = c_password;
                        }
                        #endregion
                    }
                    if (string.IsNullOrEmpty(u) || string.IsNullOrEmpty(p))
                    {
                        _error = "Uporabniško ime in geslo ne smejo biti prazni";
                    }
                    else
                    {
                        int lLoginResp = Uporabnik.login(u, p, Session, "", 1);

                        if (lLoginResp == 0)
                        {
                            if (r)
                            {
                                Response.Cookies["hash"].Value   = Varnost.EncryptAES256(u + "@-|@|-@" + p + "@-|@|-@" + ConfigurationManager.AppSettings["EncryptKey"]);
                                Response.Cookies["hash"].Expires = DateTime.Now.AddDays(30);
                            }
                            else if (Request.HttpMethod == "POST" && c != null)
                            {
                                Response.Cookies["hash"].Expires = DateTime.Now.AddDays(-1);
                            }
                            using (Uporabnik uporabnik = new Uporabnik(Session))
                            {
                                if (uporabnik.Pravice.Contains("pregled"))
                                {
                                    Response.Redirect("Pregled.aspx", true);
                                }
                                else if (uporabnik.Pravice.Contains("ostalo"))
                                {
                                    Response.Redirect("Ostalo.aspx", true);
                                }
                                else
                                {
                                    Response.Redirect("Osebno.aspx", true);
                                }
                            }
                        }
                        else
                        {
                            _error = Splosno.GetTranslateByID(lLoginResp);
                        }
                    }
                }
                else if (user.LoggedIn)
                {
                    Response.Redirect("Pregled.aspx", true);
                }
            }
        }
        catch (Exception er)
        {
            _error = "Prišlo je do programske napake<br /><i style=\"font-size:0.8em;\">" + er.Message + "</i>";
        }
    }
Beispiel #2
0
    private void geslo()
    {
        Odgovor res = new Odgovor("Uporabniško ime ne obstaja", "Preverite ali ste vnesli pravilno uporabniško ime.", "e");

        foreach (DataRow r in Uporabniki.Get().Rows)
        {
            string username = Convert.ToString(r["username"]);
            if (username.ToLower() == _s)
            {
                string email   = Convert.ToString(r["email"]);
                string storeid = Convert.ToString(r["StoreID"]);

                if (!string.IsNullOrWhiteSpace(email))
                {
                    string hash = HttpServerUtility.UrlTokenEncode(Convert.FromBase64String(Varnost.EncryptAES256(username + "@-|@|-@" + Convert.ToString(r["password"]) + "@-|@|-@" + storeid + "@-|@|-@" + ConfigurationManager.AppSettings["EncryptKey"])));
                    string msg;
                    if (Email.Send(email, "Pozabljeno geslo", "Pozdravljeni,<br />nekdo je na spletni strani http://www.mr-avtomatika.com/" + ConfigurationManager.AppSettings["Skupina"] + "  zahteval zamenjavo pozabljenega gesla za uporabniško ime <b>" + username + "</b>. Če tega niste zahtevali vi, nam prosim to sporočite na naslov <a href='mailto:[email protected]'>[email protected]</a>. Vaši podatki so še vedno varni.<br />Spodaj vam pošiljamo povezavo, kjer boste lahko zamenjali svoje pozabljeno geslo.<br /><br />Kliknite <a href=\"http://www.mr-avtomatika.com/" + ConfigurationManager.AppSettings["Skupina"] + "/Geslo.aspx?hash=" + hash + "\"><b>TUKAJ</b></a> za zamenjavo pozabljenega gesla.<br /><br />LP " + Nastavitve.Naziv, true, "Pozabljeno geslo", new Dictionary <string, System.IO.Stream>(), out msg))
                    {
                        res = new Odgovor("Uspešno poslano", "Preverite svoj elektronski predal in sledite navodilom v sporočilu. Če elektronske pošte niste dobili, najprej preverite med sporočili, ki so označena kot vsiljena pošta. Če sporočila res niste prejeli, se obrnite po pomoč na elektronski naslov <a href='mailto:[email protected]'>[email protected]</a>.", "i");
                    }
                    else
                    {
                        res = new Odgovor("Pri pošiljanju je prišlo do napake", msg, "x");
                    }
                    break;
                }
            }
        }
        Response.Write(JsonConvert.SerializeObject(res));
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            using (Uporabnik up = new Uporabnik(Session))
            {
                up.logout(Session);
            }
            string u = "";
            string p = "";
            try
            {
                string[] hash = Varnost.DecryptAES256(Convert.ToBase64String(HttpServerUtility.UrlTokenDecode(Request.QueryString["hash"]))).Split(new string[] { "@-|@|-@" }, StringSplitOptions.None);
                if (hash.Length == 3 && hash[2] == ConfigurationManager.AppSettings["EncryptKey"])
                {
                    u = hash[0].Trim();
                    p = hash[1].Trim();
                }
                else
                {
                    throw new Exception();
                }
            }
            catch
            {
                Response.Redirect("Default.aspx", true);
            }

            if (Uporabnik.login(u, p, Session, "", 1) == 0)
            {
                using (Uporabnik uporabnik = new Uporabnik(Session))
                {
                    try
                    {
                        username.Text = uporabnik.Username;
                        if (IsPostBack)
                        {
                            password_new1.Text = password_new1.Text.Trim();
                            password_new2.Text = password_new2.Text.Trim();
                            if (!string.IsNullOrWhiteSpace(password_new1.Text) && password_new1.Text.Length < 6)
                            {
                                throw new Exception("Polje Novo geslo ne sme biti krajše od 6 znakov");
                            }
                            if (!string.IsNullOrWhiteSpace(password_new2.Text) && password_new2.Text.Length < 6)
                            {
                                throw new Exception("Polje Novo geslo (ponovi) ne sme biti krajše od 6 znakov");
                            }
                            if (password_new1.Text != password_new2.Text)
                            {
                                throw new Exception("Polji Novo geslo in Novo geslo (ponovi) nista enaki");
                            }

                            Uporabniki.Edit(uporabnik.Id, uporabnik.Username, password_new1.Text, uporabnik.Ime, uporabnik.Priimek, uporabnik.Active, uporabnik.Admin, string.Join(",", uporabnik.Pravice), Session, uporabnik.Email, uporabnik.Gsm, uporabnik.Id);

                            _js  = "dialog('Geslo uspešno spremenjeno', 'Sedaj se lahko prijavite z novim geslom.', 'i');";
                            _js += "$('#dialog').dialog('option', 'buttons', { Ok: function () { $(this).dialog('close'); window.location='Default.aspx';}});";
                        }
                    }
                    catch (Exception er)
                    {
                        throw er;
                    }
                    finally
                    {
                        uporabnik.logout(Session);
                    }
                }
            }
            else
            {
                _error = "Podatki v povezavi so nepravilni";
            }
        }
        catch (Exception er)
        {
            _error = "Prišlo je do programske napake<br /><i style=\"font-size:0.8em;\">" + er.Message + "</i>";
        }
    }