Esempio n. 1
0
        public void EsqueciSenha()
        {
            if (string.IsNullOrEmpty(Request["email"]))
            {
                Didox.Business.Session.Add("[EsqueciSenha]Login", "Email não preenchido.");
                Response.Redirect(Pagina.Site() + "/" + Pagina.GetAreaCorrenteComPagina());
                return;
            }

            Usuario usuario = new Usuario();
            usuario.Email = Request["email"];
            usuario.Get();

            if (usuario.IDUsuario == null)
            {
                Didox.Business.Session.Add("[EsqueciSenha]Login", "Email não encontrado.");
                Response.Redirect(Pagina.Site() + "/" + Pagina.GetAreaCorrenteComPagina());
                return;
            }

            if (!ConfiguracaoSenha.SenhaEstaCriptografada())
            {
                /*
                MailBox oEmail = new MailBox();
                oEmail.EmailTo = usuario.Email;
                oEmail.Subject = "Envio de senha - TradeVision";
                oEmail.Body = "<b>Envio de senha </b>" +
                    "<br><b>Login:</b> " + usuario.Login+
                    "<br><b>Senha:</b> " + usuario.Senha;
                oEmail.Send();
                 * */

                Didox.Business.Session.Add("[EsqueciSenha]Login", "Email enviado com sucesso.");
            }
            else
            {
                var resetSenhaToken = new ResetSenhaToken();
                resetSenhaToken.Usuario = usuario;
                resetSenhaToken.Token = Guid.NewGuid().ToString();
                resetSenhaToken.Get();
                resetSenhaToken.Save();

                var url = Pagina.Site() + "/" + Pagina.GetAreaCorrente(false) + "/resetsenha?usuario=" + usuario.IDUsuario + "&token=" + resetSenhaToken.Token;

                // FIXME desabilitar depois coloquei de teste
                Response.Redirect(url);
                return;

                /*
                MailBox oEmail = new MailBox();
                oEmail.EmailTo = usuario.Email;
                oEmail.Subject = "Reset de senha - TradeVision";
                oEmail.Body = "<b>Por favor clique no link abaixo para resetar a sua senha </b>" +
                    "<br><a href=\"" + url + "\" >Resetar senha</a> ";
                oEmail.Send();
                */

                Didox.Business.Session.Add("[EsqueciSenha]Login", "Um email de reset de senha foi enviado.");
            }

            Response.Redirect(Pagina.Site() + "/" + Pagina.GetAreaCorrenteComPagina());
        }
        public string ResetSenha()
        {
            var resetSenhaToken = new ResetSenhaToken();
            resetSenhaToken.IDUsuario = int.Parse(Request["usuario"]);
            resetSenhaToken.Token = Request["token"];
            resetSenhaToken.Get();
            if (resetSenhaToken.IDResetSenhaToken == null)
            {
                var url = Request.ServerVariables["URL"].Replace("resetsenha", "");
                Response.Redirect(url);
                return string.Empty;
            }

            var user = new Usuario(resetSenhaToken.IDUsuario);
            user.Get();
            user.AdicionaSessao();
            resetSenhaToken.Delete();
            Response.Redirect(Pagina.Site() + "/" + Pagina.GetAreaCorrente(false) +  "/alterar-senha");
            return string.Empty;
        }