コード例 #1
0
        internal void ConfirmacaoEmail(int id, string senha)
        {
            var usuario = dbUsuario.BuscarPorId(id);

            if (usuario.SenhaReset != null)
            {
                var senhaDescript = cripto.Decrypt(usuario.SenhaReset);
                if (senhaDescript == senha)
                {
                    if (usuario.Senha == usuario.SenhaReset)//Significa que é usuário novo, e deve ativar ele no cadastro
                    {
                        usuario.Ativo = true;
                    }
                    else //Senão é um usuário querendo recuperar a senha, não deve mudar o status ativo do usuário
                    {
                        usuario.Senha = usuario.SenhaReset;
                    }

                    usuario.SenhaReset = "";
                    var uServer = new UsuarioServer();
                    uServer.Atualizar(usuario, true);
                }
                else
                {
                    throw new Exception("Código de autenticação não é valido");
                }
            }
        }
コード例 #2
0
        internal void RecuperarSenha(Usuario usuario, string url)
        {
            if (usuario.Ativo)
            {
                var senha = GeraSenhaAleatoria();
                usuario.SenhaReset = cripto.Encrypt(senha);
                var uServer = new UsuarioServer();
                usuario = uServer.Atualizar(usuario, true);

                url += $"/Login/ConfirmacaoEmail?id={usuario.Id}&s={senha}";

                var textEmail = ($@"    Foi solicitado a retificação de senha para o seu usuário no sistema SCIR - IFSC, para confirmar a retificação de senha deve entrar no link abaixo <br> {url} <br><br> E a sua senha após entrar no link anterior provisória é: <br>{senha} <br><br>Após efetuar o login é aconselhavel trocar a sua senha no sistema imediatamente!");
                EnvioEmail.SendMailGeneric(usuario, textEmail, "Conta de Usuário SCIR - IFSC");
            }
        }
コード例 #3
0
        internal void CriarUsuarioAutoCadastro(string email, string url)
        {
            if (!ValidateUtils.IsValidEmail(email))
            {
                throw new Exception("e-mail informado não é válido");
            }

            var indiceArroba = email.IndexOf("@");
            var dominio      = email.Substring(indiceArroba + 1);
            var usuario      = email.Substring(0, indiceArroba);
            var papel        = PapelDao.PapelUsuario.UsuarioNaoAutenticado;

            if (dominio.ToLower() == "aluno.ifsc.edu.br")
            {
                papel = PapelDao.PapelUsuario.Discente;
            }
            else if (dominio.ToLower() == "ifsc.edu.br")
            {
                papel = PapelDao.PapelUsuario.Servidor;
            }

            if (papel != PapelDao.PapelUsuario.UsuarioNaoAutenticado)
            {
                var senha       = GeraSenhaAleatoria();
                var novoUsuario = new Usuario
                {
                    Nome       = usuario,
                    Email      = email,
                    Ativo      = false,
                    PapelId    = (int)papel,
                    Senha      = senha,
                    SenhaReset = cripto.Encrypt(senha)
                };

                var uServer = new UsuarioServer();
                novoUsuario = uServer.Novo(novoUsuario);

                url += $"/Login/ConfirmacaoEmail?id={novoUsuario.Id}&s={senha}";

                var textEmail = ($@"Seja Bem-Vindo ao SCIR-IFSC <br><br> Foi criado o seu usuário e senha, para acessar deve entrar no link a baixo para ativar a sua conta<br> {url} <br><br> E a sua senha após entrar no link anterior provisória é: <br>{senha} <br><br>Após efetuar o login é aconselhavel trocar a sua senha no sistema imediatamente!");
                EnvioEmail.SendMailGeneric(novoUsuario, textEmail, "Conta de Usuário SCIR - IFSC");
            }
            else
            {
                throw new Exception("Deve informar o seu e-mail fornecido pela instituição de ensino!");
            }
        }
コード例 #4
0
        public string AlterarSenha(Usuario usuario, string novaSenha, string confirmacaoSenha)
        {
            var autenticado = Autentica(usuario.Email, usuario.Senha);

            if (autenticado != PapelDao.PapelUsuario.UsuarioNaoAutenticado)
            {
                if (novaSenha.Equals(confirmacaoSenha))
                {
                    usuario       = BuscarEmailCadastrado(usuario.Email);
                    usuario.Senha = novaSenha;
                    var uServer = new UsuarioServer();
                    usuario = uServer.Atualizar(usuario);
                    return("Senha alterada com sucesso!");
                }
                return("Erro nova senha e a confirmação não são as mesmas");
            }
            return("A senha atual não confere com a cadastrada");
        }
コード例 #5
0
ファイル: RequerimentoServer.cs プロジェクト: marcelom1/SCIR
        public ConsisteUtils ConsisteEncaminhar(Requerimento requerimento, Usuario usuario)
        {
            var UsuarioServer = new UsuarioServer();
            var consiste      = new ConsisteUtils();

            var pesquisa       = dbRequerimento.GetRequerimentoId(requerimento);
            var usuarioDestino = UsuarioServer.GetEntidade(requerimento.UsuarioAtendenteId);

            if (pesquisa == null)
            {
                consiste.Add("Não foi encontrado o registro para atualização", ConsisteUtils.Tipo.Inconsistencia);
                return(consiste);
            }

            if (requerimento.StatusRequerimentoId == 0)
            {
                consiste.Add("Status Requerimento é de preenchimento obrigatório.", ConsisteUtils.Tipo.Inconsistencia);
            }

            if (requerimento.UsuarioAtendenteId == 0)
            {
                consiste.Add("O próximo usuário é de preenchimento obrigatório.", ConsisteUtils.Tipo.Inconsistencia);
            }

            if (pesquisa.UsuarioAtendenteId != usuario.Id && usuario.PapelId != (int)PapelDao.PapelUsuario.Administrador)
            {
                consiste.Add("Usuário não tem permissão de efetuar o encaminhamento do requerimento", ConsisteUtils.Tipo.Inconsistencia);
            }

            if (!usuarioDestino.Ativo)
            {
                consiste.Add("Usuário de destino não está ativo para receber o requerimento", ConsisteUtils.Tipo.Inconsistencia);
            }

            if (usuarioDestino.PapelId == (int)PapelDao.PapelUsuario.Discente && usuarioDestino.Id != pesquisa.UsuarioRequerenteId)
            {
                consiste.Add("Não é permitido encaminhar o requerimento para outro discente que não seja o requerente", ConsisteUtils.Tipo.Inconsistencia);
            }

            return(consiste);
        }