public void SetPassword(CSEntry csentry, string NewPassword)
        {
            List <SYS_Usuario> ltUsuario = SYS_UsuarioBO.SelecionaPorLogin(csentry.DN.ToString());

            foreach (SYS_Usuario usuario in ltUsuario)
            {
                try
                {
                    // Configura criptografia da senha
                    eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(usuario.usu_criptografia), true);
                    if (!Enum.IsDefined(typeof(eCriptografa), criptografia))
                    {
                        criptografia = eCriptografa.TripleDES;
                    }
                    string novaSenhaCript = UtilBO.CriptografarSenha(NewPassword, criptografia);

                    if (!novaSenhaCript.Equals(usuario.usu_senha))
                    {
                        LOG_UsuarioAD logUsuario = new LOG_UsuarioAD
                        {
                            usu_id = usuario.usu_id
                            ,
                            usa_acao = (short)LOG_UsuarioAD.eAcao.AlterarSenha
                            ,
                            usa_status = (short)LOG_UsuarioAD.eStatus.Pendente
                            ,
                            usa_dataAcao = DateTime.Now
                            ,
                            usa_origemAcao = (short)LOG_UsuarioAD.eOrigem.AD
                            ,
                            usa_dados = LOG_UsuarioADBO.GetDadosUsuarioAD(usuario, NewPassword)
                        };

                        LOG_UsuarioADBO.Save(logUsuario);
                    }
                }
                catch (Exception ex)
                {
                    UtilBO.GravarErro(ex);
                }
            }
        }
示例#2
0
        /// <summary>
        /// Executa o JOB de Integra��o de usu�rios com Active Directory.
        /// </summary>
        public static void ExecJobIntegracaoActiveDirectory()
        {
            SYS_Servico servico = GetEntity(new SYS_Servico()
            {
                ser_id = (short)eChaveServico.IntegracaoActiveDirectory
            });

            if (servico.ser_ativo)
            {
                List <LOG_UsuarioADBO.sLOG_UsuarioAD> ltLogUsuarioAD = LOG_UsuarioADBO.SelecionaNaoProcessados();

                if (ltLogUsuarioAD.Count > 0)
                {
                    ltLogUsuarioAD.ForEach(p =>
                    {
                        LOG_UsuarioAD entityUsuarioAD = p.usuarioAD;
                        entityUsuarioAD.usa_status    = (short)LOG_UsuarioAD.eStatus.EmProcessamento;
                        LOG_UsuarioADBO.Save(entityUsuarioAD);
                    });

                    LOG_UsuarioADBO.ProcessaLogUsuarioAD(ltLogUsuarioAD);
                }
            }
        }