Sei sulla pagina 1di 10

Facultad de Ciencia y Tecnologa

Escuela De Informtica y Ciencias Aplicadas

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

Castillo Cortez, Joaqun Mauricio

25-1314-2006

Melndez lvarez, Roberto Josu

25-3045-2010

Molina Perdomo Gabriela del Carmen 25-5399-2007

Fecha de Entrega: viernes 21 de Noviembre de 2014

INDICE

INTRODUCCION ................................................................................................................................... 1
SISTEMA DE AUTENTICACIN DEL PORTAL EDUCATIVO DE LA UTEC BASADO EN LDAP ................... 2
1.

Identificadores de usuarios ..................................................................................................... 2

2.

LDAP y directorio activo .......................................................................................................... 3

3.

Estructura del LDAP de la UTEC: ............................................................................................. 3

4.

Configuracin de LDAP en servidor web ................................................................................. 4


4.1

Detalle de espacio de nombres ....................................................................................... 4

4.2

Pgina de registro............................................................................................................ 4

4.3

Ruta de acceso LDAP: ...................................................................................................... 6

INTRODUCCION

En la presente gua se explica como accesar al portal educativo de la Universidad


Tecnolgica de El Salvador a travs de un sistema de autenticacin basado en un servidor
LDAP (Protocolo Ligero de Acceso a Directorios) que hace referencia a un protocolo a nivel
de aplicacin que permite el acceso a un servicio de directorio ordenado y distribuido para
buscar diversa informacin en un entorno de red.
Autentificarse es necesario para entrar en un sistema y tambin para acceder a algunos
servicios como un servidor FTP o a pginas privadas en un servidor web y puede resultar
muy til implementar sistemas de autenticacin genricos como es el caso de LDAP, que
puede ser implementado tanto en entornos Windows como en Linux. En el caso de la
universidad el protocolo LDAP ser implementado en un entorno de Windows Server
2008.
Este mtodo de autenticacin es el ms adecuado en entornos de red medios y grandes.
El principal beneficio de LDAP es que la autenticacin de usuarios de la aplicacin no
mantiene el nombre de usuario y contrasea separados para cada aplicacin, sino que los
usuarios pueden capaces de utilizar su nombre de usuario y contrasea de Windows para
todas las aplicaciones.

SISTEMA DE AUTENTICACIN DEL PORTAL EDUCATIVO DE LA UTEC BASADO EN LDAP


La Universidad Tecnolgica de El Salvador (UTEC) cuenta con una pgina web a la que
cualquier persona con acceso a internet puede ingresar, dicha pgina cuenta tambin con
un portal educativo al cual solo pueden ingresar los alumnos y docentes activos; y
personal administrativo autorizado. Cada uno de ellos ingresa con diferentes privilegios.
Los usuarios del portal educativo de la UTEC son aproximadamente 25.0001 usuarios de la
categora alumnos y 1000 usuarios entre docentes y personal administrativo
Como podemos observar, es una gran cantidad de personas que ingresan al portal de la
universidad, por lo que lo ms conveniente es que el proceso se haga a travs de un
sistema de autenticacin nico, en el cual sean factibles las siguientes caractersticas:

Puesta en marcha de nuevas aplicaciones con miles de usuarios.


Simplicidad de gestin para identificadores y/o passwords.
Mejora de la seguridad.
Centralizacin del proceso de autenticacin

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

Estos datos son un aproximado, no se cuenta con el dato exacto.

2. LDAP y directorio activo


Debido a la gran cantidad de usuarios que deben ingresar al portal de la universidad se ha
determinado

que

la

autenticacin

(Lightweight Directory Access Protocol),

ser

por

medio

de

un

servidor

LDAP

el cual es un protocolo estndar que permite

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:

Se encuentra optimizado para la operacin de lectura


Extensible
Permite la rplica
Rendimiento
Estndar

3. Estructura del LDAP de la UTEC:

Software: OpenLdap
Estructura:
Raz:
o dc=utec, dc=sv
Ramas:
o ou=Administrativos (100)
o ou=Docentes (900)
o ou=Internos (25000)
3

4. Configuracin de LDAP en servidor web


Para poder configurar la autenticacin usando OpenLDAP primeramente se instala el
paquete LDAP necesario, luego se debe asegurar de tener los paquetes apropiados en
ambos, el servidor LDAP y las mquinas cliente LDAP. El servidor LDAP requiere el paquete
openldap-server. Los paquetes openldap, openldap-clients, y nss_ldap necesitan estar
instalados en todas las mquinas LDAP clientes. Luego debemos modificar los archivos de
configuracin en el servidor.
Despus de haber configurado el servidor, tenemos que tomar en cuenta otros aspectos
tales como:
4.1 Detalle de espacio de nombres
La biblioteca System.DirectoryServices juega un papel principal en esta funcionalidad, este
toma el nombre y la contrasea del usuario y la valida contra el directorio activo de
Windows.

As

que

primero

tenemos

que

hacer

referencia

esta

DLL

System.DirectoryServices en la aplicacin. Vea el paso a paso el proceso ms adelante.


4.2 Pgina de registro
La autenticacin en el portal necesita una pgina de inicio de sesin para que los usuarios
puedan introducir username y password. En esta pgina de inicio de la aplicacin se
muestran dos cajas de texto para ingresar el nombre de usuario y la contrasea, presenta
tambin un botn para ingresar (fig. 1), en el cual est el cdigo necesario para
conectarse a la base de datos del LDAP.

Fig. 1 Pgina de inicio del portal dela UTEC

La pgina de inicio est escrita en html y el cdigo es el siguiente:


<%@
Page
Language="C#"
AutoEventWireup="true"
CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>LDAP Authentication</title> </head>
<body>
<form id="form1" runat="server">
<div>
<div>
<table cellpadding="1" cellspacing="1" style="backgroundcolor: #E0E0E0; border: 1px solid #727272">
<tr>
<td>
<asp:Label
ID="lblName"
runat="server"
Text="Name"></asp:Label>
</td>
<td>
<asp:TextBox
ID="txtLoginID"
Width="150"
runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label
ID="lblpwd"
runat="server"
Text="Password"></asp:Label>
</td>
<td>
<asp:TextBox
ID="txtPassword"
Width="150"
TextMode="Password" runat="server"></asp:TextBox>
</td> </tr>
<tr>
<td colspan="2">
<asp:Button
ID="btnLogin"
runat="server"
Text="Login" OnClick="btnLogin_Click" />
&nbsp;<asp:Button ID="btnCancel" runat="server"
Text="Cancel" OnClick="btnCancel_Click" />
</td> </tr>
<tr>
<td colspan="2">
<asp:Label
ID="lblError"
runat="server"
ForeColor="Red" Text=""></asp:Label>
</td> </tr>
</table>
</div>
</div>
</form> </body> </html>

4.3 Ruta de acceso LDAP:


Para que funcione esta autenticacin necesitamos una ruta LDAP para entrar en el
servidor de directorio activo y validar el usuario. As que se debe configurar la ruta LDAP y
los datos de nombres de dominio en el archivo web.config bajo appSetting, como se
describe a continuacin.
<appSettings>
<add key="DirectoryPath" value="LDAP://XXXXXXXX,XXXXXX,XXXXXX"></add>
<add key="DirectoryDomain" value="YY"></add>
</appSettings>

Seguidamente tenemos que agregar cdigo al botn ingresa de la pgina de inicio.


Mediante el uso de la clase DirectoryEntry se conecta el servidor basado en la ruta del
directorio, nombre de usuario y contrasea. Utilizando objeto DirectorySearcher se filtran
los detalles para que el usuario particular de nombre de la propiedad y colecciones de
valor.
using
using
using
using
using
using
using
using
using
using
using
using
using
using

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; }

protected void btnCancel_Click(object sender, EventArgs e)


{
txtLoginID.Text = string.Empty;
txtPassword.Text = string.Empty;
} } }

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).

Fig. 2 Cuando el usuario es vlido la pgina de inicio redirecciona a la pgina default.aspx

Fig. 3 Cuando el usuario o contrasea son incorrectos o no se encuentran en el ad,


se muestra un mensaje de error.

Potrebbero piacerti anche