Foros del Web » Programación para mayores de 30 ;) » .NET »

Traducir Código

Estas en el tema de Traducir Código en el foro de .NET en Foros del Web. Hola Buena tarde tengo un problema, tengo este código que autentifica a los usuarios que existen en el active directory y si esta bien ya ...
  #1 (permalink)  
Antiguo 20/07/2015, 13:36
 
Fecha de Ingreso: julio-2015
Mensajes: 19
Antigüedad: 9 años, 4 meses
Puntos: 0
Traducir Código

Hola Buena tarde tengo un problema, tengo este código que autentifica a los usuarios que existen en el active directory y si esta bien ya que si los valida pero necesito pasarlo a java y estoy sufriendo con eso espero alguien me pueda ayudar.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.DirectoryServices;
using System.Management;
using System.Security.Principal;

namespace LDAP_CSHARP
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnIniciar_Click(object sender, EventArgs e)
{
string dominio, user, pass;

dominio = txtDominio.Text;
user = txtUsuario.Text;
pass = txtPass.Text;

//Aquí va el path URL del servicio de directorio LDAP
string path = "LDAP://ejemplo.com/DC=ejemplo,DC=com";

if (estaAutenticado(dominio, user, pass, path) == true)
{
MessageBox.Show("Autenticado en LDAP!");
}
else
{
MessageBox.Show("Error de Autenticación");
}
}

public bool estaAutenticado(string dominio, string usuario, string pwd, string path)
{
string domainAndUsername = dominio + @"\" + usuario;
DirectoryEntry entry = new DirectoryEntry(path,
domainAndUsername, pwd);
try
{
DirectorySearcher search = new DirectorySearcher(entry);
SearchResult result = search.FindOne();
if (result == null)
{
return false;
}
else
{
return true;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
}
}


Gracias

Ó si tienen una sugerencia de código con jsp se los agradecería aún más.
  #2 (permalink)  
Antiguo 20/07/2015, 13:56
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 9 meses
Puntos: 52
Respuesta: Traducir Código

Disculpá, no es trivial "traducir" codigo C# a java, por varias razones que te paso a detallar:

en primer lugar está el asunto del lenguaje, C# es un lenguaje terriblemente más avanzado que java, java se quedó en los '90 mientras que C# siguió evolucionando y sigue evolucionando constantemente hasta hoy (precisamente hoy salió a la calle Visual Studio 2015 con soporte para C# 6.0 que cuenta con el nuevo compilador Roslyn). Hoy en día pasar de C# a java es como pasar de manejar la ferrari de messi a una bicicleta playera.

Segundo está el tema de las librerías. .Net es una librería infinitamente mejor diseñada que la de java, en parte también se debe a que los lenguajes con los que está escrita permiten patrones de diseño y formas de hacer las cosas que no existen en java.

Además de eso, y como podes ver en este código, .Net tiene librerías que integran de forma correcta contra Active Directory, ya que se trata de un producto de Microsoft, mientras que java es propiedad de oracle, una corporación que lucra con la ineficiencia, haciendole juicios a google, y poniendo software de dudosa procedencia (vease Ask toolbar) en java, en lugar de preocuparse por producir productos de alta calidad.

Una búsqueda rapida en google de "java active directory" arroja como primer resultado este post:

http://stackoverflow.com/a/8557301/643085

que muestra como consumir servicios de LDAP de Active Directory desde java, utilizando una API poco intuitiva, que requiere escribir muchas lineas de codigo para realizar operaciones triviales, que no tiene un modelo de objetos adecuado, y que esta excesiva y horrendamente basada en cadenas de texto mágicas y constantes por todos lados como si estuvieramos en 1970... En fin, una API escrita en java.

Mi recomendación más allá de todo esto es que te olvides de java y empieces a pensar en utilizar tecnología moderna, de este siglo.
Te comento que hoy mismo salió a la calle la versión de ASP.Net con soporte oficial sobre *nix, por si eso resulta un problema.
Si eso no es una opción, fijate el link, que explica como consumir AD desde java.

Un abrazo grande, y que te sea leve.

Última edición por agleiva; 20/07/2015 a las 14:04
  #3 (permalink)  
Antiguo 21/07/2015, 11:44
 
Fecha de Ingreso: julio-2015
Mensajes: 19
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Traducir Código

Sabe me guíe en el código de página que me sugirió y si valida a los usuarios solo que hay un error ya que si los usuarios no ponen contraseña aun así los deja entrar entonces no me funciona como yo quisiera espero y me puedan ayudar :)
  #4 (permalink)  
Antiguo 22/07/2015, 00:22
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: Traducir Código

Pues si solo falla cuando los usuarios no ponen contraseña, simplemente agrega esa comprobación extra, no?
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 22/07/2015, 11:29
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Respuesta: Traducir Código

Cita:
solo que hay un error ya que si los usuarios no ponen contraseña aun así los deja entrar
yo veo entonces que es un problema en la implementación ya que si la aplicación está dentro del dominio del AD toma las credenciales del usuario actual (esa es la idea), es por eso que no pide las credenciales, autentica de manera automatica en base al usuario firmado, si quieres que pida usuario y contraseña debes cambiar la implementación pero eso es del lado del modelo de objetos del AD de Java

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #6 (permalink)  
Antiguo 27/07/2015, 14:07
 
Fecha de Ingreso: julio-2015
Mensajes: 19
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Traducir Código

Hola buenas tardes disculpen de tanto royo que no entendía sobre ldap al final termine por exportar los usuarios de active directory a sql y si los exporte bien ahora necesito que me apoyen en la autenticación de usuarios mediante servlets pero con sql server, espero alguien pueda ayudarme. Gracias buen día :)

Saludos.

Etiquetas: traducir, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:34.