Creación de un acceso a datos y una zona privada dentro de un servicio web ASP

 Si quieres crear una web dinámica lee este post.  Te enseñaremos como crear un sistema web con acceso a datos,  donde tu y tus usuarios/as podréis leer,  escribir,  creando aplicaciones como foros,  blogs y sistemas completos como intranets o extranets. 


Lo primero es partir de un servicio web que esté corriendo.  Si no tienes un servicio web en tu ordenador, ,  lee este post donde te enseñamos a crear desde un ordenador windows, un servicio web funcional y activo. 


El siguiente paso es crear en acceso a datos. Mediante el menú de Orígenes de Datos ODBC de windows. En el buscador de windows,  escribes ODBC.  Se trata de una aplicación que crea el acceso a datos que luego la web podrá utilizar. 

Imagen 1.  Primero seleccionamos la DSN de usuario o de sistema.  Si seleccionamos la de usuario, el orígen de datos tendrá lugar dentro del usuario.  Si seleccionamos la pestaña sistema,  el origen de datos tendrá lugar en todos los usuarios. 


Imagen 2.  Seleccionamos Microsoft Access Driver. .mdb


Imagen 3.  Asignamos un nombre de origen de datos por ejemplo dsn-intranet.  Este origen de datos lo usaremos después en las consultas SQL. 

Asignamos una base de datos que contenga las tablas que necesitamos. 


Aceptamos todas las ventanas y ya tenemos el orígen de datos creado. 


Ahora vamos al código,  que es donde se aplican estos parámetros. 

En la base de datos creamos una tabla que se llame multi_users.  Esta tabla tendrá dos campos llamados user y password. Ambos de tipo texto. 

Para ello pulsamos en Crear,  y pulsamos en Tabla. 

Agregamos una fila que sea user:admin, password:admin

Ahora vamos al código. 


En un servicio web que tengamos funcionando,  añadimos los siguientes ficheros. 

El código consta de tres partes.  Un fichero con la consulta SQL,  un fichero con la llamada  y un fichero interno al que solo se puede acceder si el usuario y la contraseña coinciden. 

Consulta.asp. 

Este fichero no muestra caracteres en la pantalla, por lo que no es un fichero html que se envíe al cliente.  Este fichero se queda en el servidor.  Solo sirve para discriminar si el acceso es de un usuario válido, entendiendo usuario válido que coinciden el nombre de usuario y la contraseña. 

Inicio del fichero. 

<%

user=request("user")

password=request("password")

set DataConn = server.createobject("adodb.connection") 

DataConn.open "dsn-intranet"

SQLU="select * from multi_users where user='"&user&"' and password='"&password&"'

set RSQLU=DataConn.execute(SQLU) 

%>



<%if RSQLU.eof=false then%>

    <%session("user")=""%>

    <%response.redirect("default.asp")%>

<%else%>

    <%session("user")=user%>

    <%response.redirect("/zona_interna/inicio_interno.asp")%>

<%end if%>

Fin del fichero


default.asp

La ruta del fichero  default.asp es la misma que el fichero consulta.asp

Inicio del fichero, 

<html>

<style>

</style>

<body>

<link rel="stylesheet" href="http://127.0.0.1/iserver/intranet/css/estilo.css">

<div class="todo_pantalla">

<div class="marco_acceso">

<div class="formu">

<%intentos=session("intentos")%>

<%error=session("error")%>

<%if intentos<5 then %> 

  <form action="consulta.asp" method="post">

    <label for="fname"><%=texto%></label><BR><BR>

    <div><p class="tg"><%'=session("intentos")%></div>

    <div><p class="tg">Nombre de usuario<div>

    <div><input type="text" id="fname" name="user"></div>

  <div><p class="tg">Contraseña</div>

      <div><input type="password" id="lname" name="password"></div>

  <div><center><input type="submit" value="Enviar"></center></div>

  </form>

<%end if%>

</div>

<div>&nbsp;</div>

<div><a class="link-text" href="zona_registro/registro.asp">Pulse aquí para registrarse</a></div>

</div>

</body>

</html>

Fin del fichero


inicio_interno.asp

El tercer fichero es el que contiene la zona interna que queremos convertir en privada. 

La ruta del fichero es un directorio llamado zona_interna ubicado en el root

inicio_interno.asp

inicio del fichero

<%user=session("user")

if session("user")="" then

    response.redirect("../default.asp")

else%>

<html>

<%=user%>. Bienvenido/a a la zona interna de su servidor

</html>

<%end if%>


fin del fichero. 


Ya tenemos un servidor web con acceso a datos  y una zona interna. 

A partir de aquí se pueden crear infinidad de aplicaciones basadas en formularios  y ficheros internos. Listas de acceso, privilegios.  Os dejo enlace a un proyecto de intranet que he tenido que dejar sin terminar por problemas de salud.  Os comparto mis avances y espero que les podáis dar continuidad. 

Código fuente proyecto intranet

Comentarios

Entradas populares de este blog

Resolución de imágenes