Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Materia:
Electiva 1 - Redes
Seccin: 01
Tema:
Sistema de autenticacin del portal educativo
de la UTEC basado en LDAP
Catedrtico:
Ing. Salvador Alcides Franco
Alumnos:
Alfaro de Cceres, Dalila Marisol
25-0549-2007
25-1314-2006
25-3045-2010
INDICE
INTRODUCCION ................................................................................................................................... 1
SISTEMA DE AUTENTICACIN DEL PORTAL EDUCATIVO DE LA UTEC BASADO EN LDAP ................... 2
1.
2.
3.
4.
4.2
Pgina de registro............................................................................................................ 4
4.3
INTRODUCCION
1. Identificadores de usuarios
Para el caso de la UTEC todos los alumnos, maestros y personal administrativo tienen un
correo electrnico en la plataforma de google (gmail) con el dominio mail.utec.edu.sv,
aunque el sistema de identificacin entre ellos es diferente.
Identificacin de alumnos
Se identifica a los alumnos con un nmero de carnet de 10 dgitos de la forma 25-54142005; correspondiendo los primeros 2 dgitos a la carrera, los 4 siguientes a un nmero
correlativo y los ltimos cuatro al ao de ingreso a la universidad. Este nmero de carnet
se utiliza como correo electrnico para los alumnos.
Identificacin de docentes y personal administrativo
Los docentes y el personal administrativo se identifican en el correo electrnico de la
forma nombre.apellido
1
que
la
autenticacin
ser
por
medio
de
un
servidor
LDAP
administrar directorios, esto es, acceder a bases de datos de usuarios de una red
mediante protocolos TCP/IP. Una de las utilidades ms importantes de un servidor LDAP
es como servidor de autentificacin.
Las bases de informacin generalmente estn relacionadas con los usuarios, pero, algunas
veces, se utilizan con otros propsitos, como el de administrar el hardware de una
compaa. Para el caso de la UTEC los datos estn relacionados a los alumnos, docentes y
personal administrativo que ingresan al portal, los cuales conforman las unidades
organizativas del directorio activo.
La autenticacin LDAP es til si ya se tiene un servicio de directorio en la red y no se
quiere mantener cuentas de usuario y contraseas adicionales para el acceso web, tal es
el caso de la universidad.
Algunas ventajas que ofrece el trabajar con protocolo LDAP son las siguientes:
Software: OpenLdap
Estructura:
Raz:
o dc=utec, dc=sv
Ramas:
o ou=Administrativos (100)
o ou=Docentes (900)
o ou=Internos (25000)
3
As
que
primero
tenemos
que
hacer
referencia
esta
DLL
System;
System.Collections;
System.Configuration;
System.Data;
System.Linq;
System.Web;
System.Web.Security;
System.Web.UI;
System.Web.UI.HtmlControls;
System.Web.UI.WebControls;
System.Web.UI.WebControls.WebParts;
System.Xml.Linq;
System.Text;
System.DirectoryServices;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void btnLogin_Click(object sender, EventArgs e)
{
string dominName
= string.Empty;
string adPath
= string.Empty;
string userName
= txtLoginID.Text.Trim().ToUpper();
string strError
= string.Empty;
try
{ foreach (string key in ConfigurationSettings.AppSettings.Keys)
{
dominName
=
key.Contains("DirectoryDomain")
?
ConfigurationSettings.AppSettings[key] : dominName;
adPath
=
key.Contains("DirectoryPath")
?
ConfigurationSettings.AppSettings[key] : adPath;
if
(!String.IsNullOrEmpty(dominName)
&&
!String.IsNullOrEmpty(adPath))
{
if (true == AuthenticateUser(dominName, userName,
txtPassword.Text,adPath, out strError))
{
Response.Redirect("default.aspx");
// El usuario autenticado es redireccionado a la pgina default.aspx
}
dominName = string.Empty;
adPath = string.Empty;
if (String.IsNullOrEmpty(strError)) break;
}
}
if (!string.IsNullOrEmpty(strError))
{
lblError.Text = "Invalid user name or Password!";
}
}
catch
{ }
finally
{ }
}
public bool AuthenticateUser(string domain, string username,
string password,string LdapPath, out string Errmsg)
{
Errmsg = "";
string domainAndUsername = domain + @"\" + username;
DirectoryEntry
entry
=
new
DirectoryEntry(LdapPath,
domainAndUsername, password);
try
{
// Se enlaza al AdsObject nativo para forzar la autenticacin.
Object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + username + ")";
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (null == result)
{
return false; }
// Se actualiza la nueva path al usuario en el directorio
LdapPath = result.Path;
string
_filterAttribute
=
(String)result.Properties["cn"][0];
}
catch (Exception ex)
{
Errmsg = ex.Message;
return false;
throw new Exception("Error authenticating user." +
ex.Message); }
return true; }
Despus de haber colocado en cdigo anterior en el evento click podemos comprobar que
una vez que se hace clic en el botn de inicio de sesin, se valida al usuario contra el
directorio activo, entonces se redirige a la pgina default.aspx de usuario vlido (Fig. 2) o
se muestra el mensaje de error si los datos del usuario no se encuentran en el directorio
activo (Fig. 3).