コード例 #1
0
ファイル: UsuarioManager.cs プロジェクト: dominus2020/Dominus
        public static void EnviarSenhaPorEmail(Usuario usuario)
        {
            try
            {
                MailMessage mailMessage = new MailMessage
                {
                    Subject = "Recuperação de senha - Dominus",
                    Body    = String.Format(
                        "Olá, " + usuario.Nome + "!" + Environment.NewLine + Environment.NewLine +
                        "Suas credenciais de acesso à plataforma Dominus são:" + Environment.NewLine +
                        " - login: "******" - senha: " + Codificador.Descriptografar(usuario.Senha)
                        )
                };
                mailMessage.To.Add(usuario.Email);

                SmtpSection section = (SmtpSection)ConfigurationManager.GetSection("system.net/mailSettings/smtp");

                using (SmtpClient client = new SmtpClient(section.Network.Host, section.Network.Port))
                {
                    client.UseDefaultCredentials = section.Network.DefaultCredentials;
                    client.Credentials           = new NetworkCredential(section.Network.UserName, section.Network.Password);
                    client.EnableSsl             = section.Network.EnableSsl;
                    client.Send(mailMessage);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #2
0
ファイル: UsuarioManager.cs プロジェクト: dominus2020/Dominus
        private static void ValidarDadosUsuario(Usuario usuario, Usuario old = null)
        {
            if (String.IsNullOrWhiteSpace(usuario.Nome) || usuario.Nome.Trim().Length > 100)
            {
                throw new UsuarioNomeException("O nome deve ser preenchido (até 100 caracteres).");
            }

            if (String.IsNullOrWhiteSpace(usuario.Login) || usuario.Login.Trim().Length < 4 || usuario.Login.Trim().Length > 15)
            {
                throw new UsuarioLoginException("O login deve ser preenchido (de 4 até 15 caracteres).");
            }

            if (!System.Text.RegularExpressions.Regex.IsMatch(usuario.Login.Trim(), @"^[a-zA-Z0-9_]+$"))
            {
                throw new UsuarioLoginException("O login deve conter apenas letras, números ou '_'(sublinhado).");
            }

            if ((old == null || !usuario.Login.Trim().Equals(old.Login)) && GetUsuarioByLogin(usuario.Login.Trim()) != null)
            {
                throw new UsuarioLoginException("O sistema já possui um usuário com o login '" + usuario.Login.Trim() + "'. Escolha um outro nome.");
            }

            if (String.IsNullOrWhiteSpace(usuario.Email) || usuario.Email.Trim().Length > 100 || !ValidarEmail(usuario.Email))
            {
                throw new UsuarioEmailException("O e-mail deve ser preenchido com um endereço válido (até 100 caracteres).");
            }

            if ((old == null || !usuario.Email.Trim().Equals(old.Email)) && GetUsuarioByEmail(usuario.Email.Trim()) != null)
            {
                throw new UsuarioEmailException("O sistema já possui um usuário com o e-mail '" + usuario.Email.Trim() + "'.");
            }

            if (String.IsNullOrWhiteSpace(Codificador.Descriptografar(usuario.Senha)) || Codificador.Descriptografar(usuario.Senha).Length < 8 || Codificador.Descriptografar(usuario.Senha).Length > 20)
            {
                throw new UsuarioSenhaException("A senha deve ser preenchida e deve atender à política de segurança.");
            }
        }