Cómo crear una página Web que está protegida por contraseña mediante Expression Web, páginas Active Server y una base de datos

Seleccione idioma Seleccione idioma
Id. de artículo: 928706 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

en este artículo paso a paso se describe cómo crear una solución sencilla página Web que proporciona protección con contraseña mediante Microsoft Expression Web, Active Server (ASP) y una base de datos de Microsoft Access.
  • el código de ejemplo de este artículo no está diseñado para reemplazar la funcionalidad de seguridad integrada de Expression Web. Los ejemplos están diseñados para proporcionar un mecanismo de seguridad simple sólo para usuarios que están explorando su sitio Web. Por lo tanto, la seguridad de Expression Web no se integra con los nombres de usuario y las contraseñas que se agregan a la base de datos de Access.
  • los nombres de el usuario y contraseñas que escriban en se transmiten a través de Internet en texto sin formato. Para ayudar a aumentar la seguridad, recomendamos que utilice un servidor Web que puede utilizar el cifrado capa de sockets seguros (SSL). Para obtener más información, póngase en contacto con el administrador del sitio Web o su proveedor de servicio de Internet (ISP).

Introducción

En este artículo describe cómo crear una página Web que está protegida por contraseña mediante Expression Web, ASP y una base de datos.

Más información

Utilizar las características ASP en Expression Web

Antes de utilizar las características ASP en Expression Web, debe tener acceso a un servidor Web o un Web basado en disco que admita ASP.

Crear un nuevo sitio Web en Expression Web

Nota Ejemplo se supone que un inicio de sesión sitio Web de nombre y que el sitio de inicio de sesión se crea como un procedimiento sub Web bajo la raíz del sitio Web. Si utiliza un nombre distinto de inicio de sesión, o crear un sitio Web en una ubicación alternativa, debe modificar en consecuencia los pasos en este artículo.

Para crear un nuevo sitio Web en Expression Web, siga estos pasos:
  1. Inicie Expression Web.
  2. En el menú archivo , haga clic en nuevo y, a continuación, haga clic en sitio Web.
  3. En el cuadro de diálogo nuevo , haga clic en sitio Web vacío en la ficha sitio Web .
  4. En el cuadro Especifique la ubicación del nuevo sitio Web , escriba la ubicación donde desea almacenar el nuevo sitio Web en el siguiente formato:

    http:// nombreServidor / inicio de sesión
  5. Haga clic en Aceptar .
En Expression Web se abre el nuevo sitio Web vacío que se denomina el inicio de sesión.

Crear una base de datos

Puede crear la base de datos para almacenar las contraseñas y nombres de usuario con un programa de base de datos, como Microsoft Office Access 2003.

Nota Si utiliza un programa de base de datos distinto de Access 2003 para crear la base de datos, modifique estos pasos según corresponda.

Para crear una base de datos:
  1. Inicia Access 2003.
  2. En el menú archivo , haga clic en nuevo .
  3. En el panel de tareas, haga clic en base de datos en blanco .
  4. Escriba Logon.mdb como el nombre de archivo y, a continuación, haga clic en crear .
  5. En el panel objetos , haga clic en tablas y, a continuación, haga clic en nuevo .
  6. Haga clic en Vista Diseño y, a continuación, haga clic en Aceptar .
  7. En la primera fila de la columna Nombre de campo , escriba UID .
  8. En la columna correspondiente de Tipo de datos , haga clic en texto y, a continuación, haga clic en el botón de Clave principal en la barra de herramientas.

    Nota El botón de Clave principal aparece como un símbolo de clave.
  9. En la segunda fila de la columna Nombre de campo , escriba PWD y, a continuación, haga clic en texto en la segunda fila de la columna Tipo de datos .
  10. En el menú archivo , haga clic en Guardar .
  11. En el cuadro Nombre de tabla , escriba tblUsers y, a continuación, haga clic en Aceptar .
  12. En el menú Ver , haga clic en Vista Hoja de datos .
  13. En la columna UID , escriba testuser .
    En la columna PWD , escriba la contraseña .
  14. En el menú archivo , haga clic en Cerrar y salga de Access 2003.
Nota Por motivos de seguridad, las contraseñas están restringidas a una combinación de letras mayúsculas, minúsculas y números.

Importar la base de datos

Importar la base de datos que ha creado para los nombres de almacén de usuario y contraseñas en Expression Web. Para ello, siga estos pasos:
  1. En Expression Web, abra el sitio Web de inicio de sesión, en el menú archivo haga clic en Importar y, a continuación, haga clic en archivo .
  2. Haga clic en Agregar archivo , busque y, a continuación, haga clic en el archivo Logon.mdb como que ha creado y, a continuación, haga clic en Abrir .
  3. Haga clic en Modificar , escriba _private/logon.mdb en el cuadro de texto de ubicación del archivo en su web y, a continuación, haga clic en Aceptar .

    Nota Hay un carácter de subrayado (_) delante de "privada" en la ruta de acceso del archivo.
  4. Haga clic en Aceptar para importar el archivo de base de datos.
  5. Si se le pregunta si para crear una conexión de base de datos para este archivo importado, haga clic en no .

Crear las páginas ASP

Deberá crear varios archivos para poder trabajar con este ejemplo. En primer lugar, cree una página principal para el sitio Web, una página "no segura" y una página que está protegida para las pruebas, la página Web de inicio de sesión, y el inicio de sesión incluyen el archivo.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento. Sin embargo, no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

Crear la página principal

Esta página sirve como la página predeterminada del sitio. Incluye vínculos a la página no segura y a la página Web protegida que cree. Para crear una página principal:
  1. En Expression Web, haga clic en nuevo en el menú archivo y, a continuación, haga clic en página .
  2. En el cuadro de diálogo nuevo , haga clic en HTML en la ficha página y, a continuación, haga clic en Aceptar .
  3. En el área de pie de página de la ventana de documento, haga clic en código para mostrar la vista código.
  4. Seleccione todo el código HTML de la página Web y, a continuación, elimínelo.
  5. Escriba o pegue el código HTML siguiente en el Web page.
    <% @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="passwordprotect.asp">Password-Protected Page</a></li>
    <li><a href="nonsecure.asp">Nonsecure Page</a></li>
    
    </ul>
    </body>
    </html>
  6. Guarde la página como default.asp en la carpeta raíz de su sitio Web logon.
  7. En el menú archivo , haga clic en Cerrar para cerrar la página de Web default.asp.

Crear la página no segura

Crear una página ASP típica que todos los usuarios pueden ver. Para crear una página no segura, siga estos pasos:
  1. En Expression Web, haga clic en nuevo en el menú archivo y, a continuación, haga clic en página .
  2. En el cuadro de diálogo nuevo , haga clic en HTML en la ficha página y, a continuación, haga clic en Aceptar .
  3. En el área de pie de página de la ventana de documento, haga clic en código para mostrar la vista código.
  4. Seleccione todo el código HTML de la página Web y, a continuación, elimínelo.
  5. Escriba o pegue el código HTML siguiente en el Web page.
    <% @language="vbscript" %>
    <html>
    <head><title>Nonsecure Page</title></head>
    <body>
    <h3>Nonsecure 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>
  6. Guarde la página como nonsecure.asp en la carpeta raíz de su sitio Web logon.
  7. En el menú archivo , haga clic en Cerrar para cerrar la página de Web nonsecure.asp.

Crear la página protegida

La página en este paso es igual a la página Web no segura que creó anteriormente, excepto que debe agregar el siguiente código cerca de la parte superior de la vista código:
<!--#include virtual="/logon/_private/logon.inc"-->
al agregar esta línea de código a una página ASP, esa página se convierte en protegido por contraseña el archivo logon.inc que cree. Para crear una página Web que está protegida por contraseña, siga estos pasos:
  1. En Expression Web, haga clic en nuevo en el menú archivo y, a continuación, haga clic en página .
  2. En el cuadro de diálogo nuevo , haga clic en HTML en la ficha página y, a continuación, haga clic en Aceptar .
  3. En el área de pie de página de la ventana de documento, haga clic en código para mostrar la vista código.
  4. Seleccione todo el código HTML de la página Web y, a continuación, elimínelo.
  5. Escriba o pegue el código HTML siguiente en el Web page.
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <html>
    <head><title>Password-Protected Page</title></head>
    <body>
    <h3>Password-Protected 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>
    </body>
    </html>
  6. Guarde la página como passwordprotect.asp en la carpeta raíz de su sitio Web logon.
  7. En el menú archivo , haga clic en Cerrar para cerrar la página de Web passwordprotect.asp.

Crear la página de inicio de sesión

Crear un inicio de sesión página similar a un típico cuadro de diálogo Inicio de sesión de Windows. Los usuarios que intentan tener acceso a la página Web protegida se envían a esta página para escribir sus nombres de usuario y contraseñas. Para crear una página de inicio de sesión:
  1. En Expression Web, haga clic en nuevo en el menú archivo y, a continuación, haga clic en página .
  2. En el cuadro de diálogo nuevo , haga clic en HTML en la ficha página y, a continuación, haga clic en Aceptar .
  3. En el área de pie de página de la ventana de documento, haga clic en código para mostrar la vista código.
  4. Seleccione todo el código HTML de la página Web y, a continuación, elimínelo.
  5. Type or paste the following HTML code in the Web page.
    <% @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>
  6. Guarde la página como logon.asp en la carpeta raíz de su sitio Web logon.
  7. En el menú archivo , haga clic en Cerrar para cerrar la página de Web logon.asp.

Crear el archivo de inclusión para el inicio de sesión

El archivo de inclusión proporciona las funciones de nombre y contraseña de usuario. Puede utilizarse por la página Web protegida y la página Web de inicio de sesión. Para crear este archivo, siga estos pasos:
  1. En Expression Web Designer, haga clic en nuevo en el menú archivo y, a continuación, haga clic en página .
  2. En el cuadro de diálogo nuevo , haga clic en HTML en la ficha página y, a continuación, haga clic en Aceptar .
  3. En el área de pie de página de la ventana de documento, haga clic en código para mostrar la vista código.
  4. Seleccione todo el código HTML de la página Web y, a continuación, elimínelo.
  5. Escriba o pegue el código HTML siguiente en el Web page.
    <%
      ' 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
    %>
  6. Guarde la página como logon.inc en la carpeta _private de su sitio Web logon.
  7. En el menú archivo , haga clic en Cerrar para cerrar la página de Web logon.inc.

Probar el sitio Web de inicio de sesión

Para ello, siga estos pasos:
  1. En Expression Web, haga clic con el botón secundario del mouse default.ASP en el panel Lista de carpetas y, a continuación, haga clic en vista previa en explorador .

    El explorador Web cargará la página principal de ejemplo y le indicará que no tiene iniciada ninguna sesión.
  2. Haga clic en el vínculo de página no seguro .

    La página se cargará y le indicará que no tiene iniciada ninguna sesión. Haga clic en el vínculo volver a la predeterminada para volver a la página predeterminada.
  3. Haga clic en el vínculo de página protegido por contraseña .

    La página logon.asp se cargará en lugar de la página protegida.
  4. En el cuadro Nombre de usuario , escriba testuser , escriba la contraseña en el cuadro contraseña y, a continuación, haga clic en LOGON .

    La página protegida muestra e mostrará que iniciado una sesión como testuser . Haga clic en el vínculo volver a la predeterminada para volver a la página predeterminada. La página principal se carga y se mostrará que iniciado una sesión como testuser .
  5. Haga clic en el vínculo de página no seguro .

    La página se cargará y mostrará que iniciado una sesión como testuser .

Personalizar el sitio Web de inicio de sesión

Puede personalizar el sitio Web de ejemplo para el inicio de sesión de cualquiera de las siguientes formas:
  • Agregar nombres de usuario y contraseñas:
    Puede abrir la base de datos en Expression Web y, a continuación, agregar usuarios a la tabla tblUsers .
  • Crear otras páginas Web que están protegidos por contraseña:
    Para crear otra página Web que está protegido por contraseña en el sitio Web, debe guardar el archivo utilizando una extensión de nombre de archivo .ASP, como MyPage.ASP y a continuación, agregue las dos líneas siguientes a la parte superior de la vista código:
    <% @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. La segunda línea incluye el nombre de usuario y la funcionalidad de contraseña desde el inicio de sesión que creó anteriormente.

Referencias

Para obtener más información acerca de cómo crear una página Web que está protegida por contraseña utilizando FrontPage 2003, páginas Active Server y una base de datos de Access, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
825498Cómo crear una página Web protegida mediante contraseña utilizando FrontPage 2003, páginas Active Server y una base de datos

Para obtener más información acerca de cómo proteger las comunicaciones HTTP entre el cliente y el servidor, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
299525Cómo configurar SSL utilizando IIS 5.0 y Certificate Server 2.0
299875Cómo implementar SSL en IIS

Para obtener más información acerca de cómo integrar páginas Active Server (ASP) con bases de datos, 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
318287Qué necesita para utilizar páginas Active Server (ASP) en FrontPage 2002

Propiedades

Id. de artículo: 928706 - Última revisión: martes, 17 de abril de 2007 - Versión: 1.1
La información de este artículo se refiere a:
  • Microsoft Expression Web
Palabras clave: 
kbmt kbexpertiseinter kbhowto KB928706 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): 928706

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