Cómo utilizar una base de datos para nombres de usuario y contraseñas en FrontPage 2002

Seleccione idioma Seleccione idioma
Id. de artículo: 321439 - Ver los productos a los que se aplica este artículo
Para obtener una versión de Microsoft FrontPage 2000 de este artículo, consulte 321503.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso se explica cómo crear una solución de seguridad de archivo simple utilizando Microsoft FrontPage 2002, Active Server (ASP) y una base de datos de Microsoft Access.

Notas importantes

  • El código de ejemplo de este artículo no está diseñado como un sustituto de la funcionalidad de seguridad integrada de FrontPage. Los ejemplos están diseñados para proporcionar un mecanismo de seguridad simple sólo para usuarios que están explorando su sitio Web. Como tal, seguridad de FrontPage 2002 no se integra con los nombres de usuario y contraseñas que se agregan a Microsoft Access base de datos.
  • Los nombres de usuario y las contraseñas que se escriban se transmitirán por Internet en forma de texto sin formato. Para mayor seguridad, Microsoft recomienda que utilice un servidor Web que puede utilizar SSL (Secure Sockets Layer) cifrado. Para obtener más información, consulte el administrador del sitio Web o proveedor de servicios de Internet (ISP).

Paso 1: obtener listo para usar las características ASP en FrontPage 2002

Para poder utilizar las características ASP en FrontPage 2002, debe instalar los componentes que aparecen en el siguiente artículo de Microsoft Knowledge Base:
318287Qué necesita para utilizar páginas Active Server (ASP) en FrontPage 2002

Paso 2: crear un nuevo Web en FrontPage 2002

Nota Para que este código de ejemplo funcione correctamente, debe asegurarse de que el nombre de Web es LOGON y que es un subweb fuera la raíz de su sitio Web.
  1. En el menú archivo , haga clic en nuevo y, a continuación, haga clic en página o Web .
  2. En el panel de tareas, haga clic en Plantillas de sitio Web .
  3. En la lista de plantillas, haga clic en Web vacío .
  4. Especificar la ubicación del Web en su servidor mediante la sintaxis siguiente
    http:// /logon/ de your server
    donde your server es el nombre del servidor Web habilitado para ASP.
  5. Haga clic en Aceptar .

Paso 3: crear una base de datos utilizando Microsoft Access

  1. Inicie Microsoft Access.
  2. En el menú archivo , haga clic en nuevo .
  3. En la lista de opciones, haga clic en Base de datos en blanco .
  4. El archivo Logon.mdb como el nombre y guárdelo en el escritorio.
  5. En la sección de tablas , haga clic en nuevo .
  6. En la lista, haga clic en Vista Diseño y, a continuación, haga clic en Aceptar .
  7. Cree dos campos:
    1. El Nombre de campo , escriba UID . Para el Tipo de datos , haga clic en texto y, a continuación, haga clic en Clave principal .
    2. El Nombre de campo , escriba PWD . Para el Tipo de datos , haga clic en texto .
  8. En el menú archivo , haga clic en Guardar . Nombre de la tabla tblUsers y, a continuación, haga clic en Aceptar .
  9. En el menú Ver , haga clic en Vista Hoja de datos .
  10. En la columna UID , escriba testuser . En la columna PWD , escriba la contraseña .
  11. En el menú archivo , haga clic en Cerrar para cerrar la tabla.
  12. Salir de Microsoft Access.
Nota Por motivos de seguridad, las contraseñas están restringidas a una combinación de letras mayúsculas, minúsculas y números.

Paso 4: importar la base de datos Microsoft Access

  1. En el menú archivo , haga clic en Importar .
  2. Haga clic en Agregar archivo .
  3. En la lista Buscar en , haga clic en el escritorio.
  4. Haga clic en el archivo Logon.mdb como que creó en el Step 3 y, a continuación, haga clic en Abrir .
  5. Haga clic en Modificar .
  6. Cambie la dirección URL a _private/logon.mdb y, a continuación, haga clic en Aceptar .
  7. Haga clic en Aceptar para importar el archivo.
  8. Si pide confirmación para agregar una conexión de base de datos, haga clic en no .

Paso 5: crear las páginas ASP

Deberá crear varios archivos para poder trabajar con este ejemplo. En primer lugar, se crea una home page para el sitio Web, una unsecure page y una secure page para las pruebas y, a continuación, la logon Web page y el logon include file.

Paso 5a: crear la página principal

Esta página sirve como página predeterminada para el sitio e incluye vínculos a la unsecure page y la secure page que creará más adelante.
  1. En la barra de herramientas de FrontPage , haga clic en Nueva página .
  2. Cambie a la vista HTML y elimine todo el código HTML existente código.
  3. Escriba o pegue el código siguiente en la página:
    <% @language="vbscript" %>
    <html>
    <head><title>Home Page</title></head>
    <body>
    <h3>Home Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <ul>
    <li><a href="secure.asp">Secure Page</a></li>
    <li><a href="unsecure.asp">Unsecure Page</a></li>
    </ul>
    </body>
    </html>
    					
  4. Guarde la página como default.asp en la carpeta raíz de su Web.
  5. Cierre la página haciendo clic en Cerrar en el menú archivo .

Paso 5b: crear una página insegura

Esta página es una página ASP básica que cualquiera puede explorar.
  1. En la barra de herramientas de FrontPage , haga clic en Nueva página .
  2. Cambie a la vista HTML y elimine todo el código HTML existente código.
  3. Escriba o pegue el código siguiente en la página:
    <% @language="vbscript" %>
    <html>
    <head><title>Unsecure Page</title></head>
    <body>
    <h3>Unsecure Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a></p>
    </body>
    </html>
    					
  4. Guarde la página como default.asp en la carpeta raíz de su Web.
  5. Cierre la página haciendo clic en Cerrar en el menú archivo .

Paso c 5: crear una página segura

La página en este paso es la misma que la página no segura que creó en el Step 5b, excepto que agregue la siguiente línea de código de la parte superior de la página:
<!--#include virtual="/logon/_private/logon.inc"-->
				
agregar esta línea de código a cualquier página Web de ASP convierte una página Web "secure" en la página.
  1. En la barra de herramientas de FrontPage , haga clic en Nueva página .
  2. Cambie a la vista HTML y elimine todo el código HTML existente código.
  3. Escriba o pegue el código siguiente en la página:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <html>
    <head><title>Secure Page</title></head>
    <body>
    <h3>Secure Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a></p>
    </body>
    </html>
    					
  4. Guarde la página como secure.asp en la carpeta raíz de su inicio de sesión Web.
  5. Cierre la página haciendo clic en Cerrar en el menú archivo .

Paso 5d: crear la página de inicio de sesión

La página de inicio de sesión está diseñada para parecerse a un cuadro de diálogo de inicio de sesión de Windows estándar. Los usuarios que intenten tener acceso a la secure page son enviados a esta página para escribir su nombre de usuario y contraseña.
  1. En la barra de herramientas de FrontPage , haga clic en Nueva página .
  2. Cambie a la vista HTML y elimine todo el código HTML existente código.
  3. Escriba o pegue el código siguiente en la página:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <%
      ' Was this page posted to?
      If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then
        ' If so, check the username/password that was entered.
        If ComparePassword(Request("UID"),Request("PWD")) Then
          ' If comparison was good, store the user name...
          Session("UID") = Request("UID")
          ' ...and redirect back to the original page.
          Response.Redirect Session("REFERRER")
        End If
      End If
    %>
    <html>
    <head><title>Logon Page</title>
    <style>
    body  { font-family: arial, helvetica }
    table { background-color: #cccccc; font-size: 9pt; padding: 3px }
    td    { color: #000000; background-color: #cccccc; border-width: 0px }
    th    { color: #ffffff; background-color: #0000cc; border-width: 0px }
    </style>
    </head>
    <body bgcolor="#000000" text="#ffffff">
    <h3 align="center">&#xa0;</h3>
    <div align="center"><center>
    <form action="<%=LOGON_PAGE%>" method="POST">
    <table border="2" cellpadding="2" cellspacing="2">
      <tr>
        <th colspan="4" align="left">Enter User Name and Password</th>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="left">Please type your user name and password.</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Site</td>
        <td align="left"><%=Request.ServerVariables("SERVER_NAME")%> &#xa0;</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">User Name</td>
        <td align="left"><input name="UID" type="text" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Password</td>
        <td align="left"><input name="PWD" type="password" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="center"><input type="submit" value="LOGON"></td>
        <td>&#xa0;</td>
      </tr>
    </table>
    </form>
    </center></div>
    </body>
    </html>
    					
  4. Guarde la página como logon.asp en la carpeta raíz de su inicio de sesión Web.
  5. Cierre la página haciendo clic en Cerrar en el menú archivo .

Paso 5e: crear el inicio de sesión de archivo de inclusión

Este archivo de inclusión proporciona la funcionalidad de nombre y la contraseña de usuario y se utiliza por la secure page y la logon page.
  1. En la barra de herramientas de FrontPage , haga clic en Nueva página .
  2. Cambie a la vista HTML y elimine todo el código HTML existente código.
  3. Escriba o pegue el código siguiente en la página:
    <%
      ' Do not cache this page.
      Response.CacheControl = "no-cache"
    
      ' Define the name of the users table.
      Const USERS_TABLE  = "tblUsers"
      ' Define the path to the logon page.
      Const LOGON_PAGE   = "/logon/logon.asp"
      ' Define the path to the logon database.
      Const MDB_URL      = "/logon/_private/logon.mdb"
    
      ' Check to see whether you have a current user name.
      If Len(Session("UID")) = 0 Then
        ' Are you currently on the logon page?
        If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then
          ' If not, set a session variable for the page that made the request...
          Session("REFERRER") = Request.ServerVariables("URL")
          ' ...and redirect to the logon page.
          Response.Redirect LOGON_PAGE
        End If
      End If
    
      ' This function checks for a username/password combination.
      Function ComparePassword(UID,PWD)
        ' Define your variables.
        Dim strSQL, objCN, objRS
        ' Set up your SQL string.
        strSQL = "SELECT * FROM " & USERS_TABLE & _
          " WHERE (UID='" & ParseText(UID) & _
          "' AND PWD='" & ParseText(PWD) & "');"
        ' Create a database connection object.
        Set objCN = Server.CreateObject("ADODB.Connection")
        ' Open the database connection object.
        objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & _
          Server.MapPath(MDB_URL) & "; uid=admin; pwd="
        ' Run the database query.
        Set objRS = objCN.Execute(strSQL)
        ' Set the status to true/false for the database lookup.
        ComparePassword = Not(objRS.EOF)
        ' Close your database objects.
        Set objRS = Nothing
        Set objCN = Nothing
      End Function
    
      ' This function restricts text to alpha-numeric data only.
      Function ParseText(TXT)
        Dim intPos, strText, intText
        For intPos = 1 TO Len(TXT)
          intText = Asc(Mid(TXT,intPos,1))
          If (intText > 47 And intText < 58) Or _
             (intText > 64 And intText < 91) Or _
             (intText > 96 And intText < 123) Then
              strText = strText & Mid(TXT,intPos,1)
          End if
        Next
        ParseText = strText
      End Function
    %>
  4. Guarde la página como logon.inc en la carpeta _private de su inicio de sesión Web.
  5. Cierre la página haciendo clic en Cerrar en el menú archivo .

Paso 6 - probar el inicio de sesión web

  1. En la Lista de carpetas de FrontPage, haga clic en default.asp . En la barra de herramientas FrontPage , haga clic en vista previa en el explorador .
  2. Ahora el explorador carga la página principal de ejemplo y le mostrará que no iniciado.
  3. Haga clic en el vínculo de la página no segura. La página se cargará y le indicará que no tiene iniciada ninguna sesión. Haga clic en el vínculo volver a la página predeterminada.
  4. Haga clic en el vínculo para la página segura. Se cargará la página de inicio de sesión en lugar de la página segura.
  5. Escriba testuser para el nombre de usuario, escriba la contraseña para la contraseña y, después, haga clic en LOGON .
  6. La página segura muestra e mostrará que iniciado una sesión como testuser . Haga clic en el vínculo volver a la página predeterminada.
  7. La página de principal de ejemplo, se cargará y mostrará que iniciado una sesión como testuser .
  8. Haga clic en el vínculo de la página no segura. La página se cargará y le mostrará que ha iniciado una sesión como testuser.

Personalizar el ejemplo de inicio de sesión

Puede personalizar el ejemplo de inicio de sesión de las maneras siguientes:
  • Agregar nombres de usuario y contraseñas: se puede abrir la base de datos haciendo doble clic en FrontPage y, a continuación, agregar usuarios a la tabla tblUsers.
  • Proteger otras páginas Web: para proteger otra página Web en su Web, debe guardar el archivo con ASP extensión de archivo, por ejemplo, mypage.asp e, a continuación, agregue las dos líneas siguientes al principio muy del archivo:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    						
    la primera línea especifica que está utilizando Microsoft Visual Basic Scripting Edition (VBScript) para el lenguaje de secuencias de comandos y la segunda línea incluye la funcionalidad de nombre y la contraseña de usuario desde el logon include file que creó anteriormente.

Referencias

Para obtener más información acerca de cómo integrar Active Server (ASP) con bases de datos y seguridad, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
299987Cómo utilizar la base de datos y las sesiones ASP para implementar la seguridad ASP
300382Cómo crear una conexión de base de datos desde una página ASP en IIS

Propiedades

Id. de artículo: 321439 - Última revisión: jueves, 01 de febrero de 2007 - Versión: 5.2
La información de este artículo se refiere a:
  • Microsoft FrontPage 2002 Standard Edition
Palabras clave: 
kbmt kbdatabase kbasp kbprogramming kbhowtomaster KB321439 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 321439

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com