/// <summary> /// Realiza a sincroniza��o das senhas alteradas no AD com o Autenticador. /// </summary> /// <param name="log">Dados do usu�rio.</param> /// <returns></returns> public static bool SincronizaSenhaAlteradaAD(sLOG_UsuarioAD log) { bool processou = false; switch (log.usuarioAD.usa_acao) { case (short)LOG_UsuarioAD.eAcao.IncluirUsuario: case (short)LOG_UsuarioAD.eAcao.ExcluirUsuario: break; case (short)LOG_UsuarioAD.eAcao.AlterarSenha: { SYS_Usuario entityUsuario = log.usuario; entityUsuario.IsNew = false; entityUsuario.usu_senha = log.dadosUsuario.senha; processou = SYS_UsuarioBO.AlterarSenhaAtualizarUsuario(entityUsuario, false, true); } break; default: throw new ValidationException("Opera��o inv�lida."); } return(processou); }
/// <summary> /// Realiza a sincroniza��o das senhas alteradas no Autenticador com o AD. /// </summary> /// <param name="userAD">Objeto de conex�o com o Active Directory (AD).</param> /// <param name="dominio">Dom�nio do Active Directory (AD).</param> /// <param name="organizationalUnitsPath">Caminho de Organizational Units onde os usu�rios s�o criados no Active Directory (AD).</param> /// <param name="log">Dados do usu�rio.</param> /// <returns></returns> public static bool SincronizaSenhaAlteradaAutenticador(LdapUsers userAD, string dominio, string organizationalUnitsPath, sLOG_UsuarioAD log, string descricao) { bool processou = false; if (!LdapUtil.Exists(dominio)) { throw new ValidationException("Dom�nio n�o foi encontrado."); } if (!LdapUtil.ExistsOrganizationalUnitPath(dominio, organizationalUnitsPath)) { throw new ValidationException("Caminho de Organizational Units n�o foi encontrado."); } switch (log.usuarioAD.usa_acao) { case (short)LOG_UsuarioAD.eAcao.IncluirUsuario: { if (userAD.UserExists(log.usuario.usu_login)) { throw new ArgumentException("Usu�rio j� existe."); } processou = userAD.CreateUser(organizationalUnitsPath, log.pessoa.pes_nome, log.usuario.usu_email, log.usuario.usu_login, log.dadosUsuario.senha, descricao); if (log.usuario.usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Senha_Expirada) { processou &= userAD.SetExpirePassword(log.usuario.usu_login, true); } } break; case (short)LOG_UsuarioAD.eAcao.AlterarSenha: { if (!userAD.UserExists(log.usuario.usu_login)) { throw new ArgumentException("Usu�rio n�o encontrado."); } processou = userAD.SetExpirePassword(log.usuario.usu_login, false); processou &= userAD.SetPassword(log.usuario.usu_login, log.dadosUsuario.senha); if (log.usuario.usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Senha_Expirada) { processou &= userAD.SetExpirePassword(log.usuario.usu_login, true); } } break; case (short)LOG_UsuarioAD.eAcao.ExcluirUsuario: { if (!userAD.UserExists(log.usuario.usu_login)) { throw new ArgumentException("Usu�rio n�o encontrado."); } processou = userAD.DeleteUser(log.usuario.usu_login); } break; default: throw new ValidationException("Opera��o inv�lida."); } return(processou); }