如何创建使用 Expression Web、 活动服务器页面和 Access 数据库中由密码保护的 Web 页

文章翻译 文章翻译
文章编号: 928706 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本分步指南介绍了如何创建简单的 Web 页解决方案,提供了密码保护,通过使用 Microsoft Expression Web、 活动服务器页面 (ASP) 和 Microsoft Access 数据库。
  • 本文中示例代码不被旨在替换 Expression Web 内置安全功能。这些示例的目的被为了提供一种简单的安全机制仅用于浏览到您的 Web 站点的用户。因此,Expression Web 安全不会与用户名称和 $ 添加到 Access 数据库的密码不集成。
  • 以纯文本格式在 internet 传输 用户名称和中键入的密码。为了提高安全性,我们建议您使用的 Web 服务器,可以使用安全套接字层 (SSL) 加密。更多的信息,请联系您的网站管理员或 Internet 服务提供商 (ISP)

简介

本文介绍如何创建使用 Expression Web、 ASP,和 Access 数据库中由密码保护的 Web 页。

更多信息

在 Expression Web 使用 ASP 的功能

在 Expression Web 使用 ASP 功能前,您必须有权访问 Web 服务器或支持 ASP 的基于磁盘的网站。

在 Expression Web 中创建新的网站

注意示例信息假定名称网站登录和任意位置的登录站点作为您的网站的根目录下的子网站创建。如果使用登录,以外的其他名称,或者在另一个位置中创建一个网站,则必须相应地修改在整篇文章步骤。

若要创建新的网站在 Expression Web 中,请按照下列步骤操作:
  1. 启动 Expression Web。
  2. 文件 菜单上单击 新建,然后单击 Web 站点。
  3. 新建 对话框中单击 网站 选项卡中的 空白网站
  4. 指定新网站的位置 框中键入要用来存储新的网站以下列格式的位置:

    http:// 服务器名 / 登录
  5. 单击 确定
在 Expression Web 中打开新的空的网站名为登录。

创建数据库

您可以创建数据库,以通过使用数据库程序 (如 Microsoft Office Access 2003 中存储用户名和密码。

注意如果您使用 Access 2003 以外的其他数据库程序中创建数据库,请相应地修改这些步骤。

若要进行数据库,请按照下列步骤操作:
  1. 启动 Access 2003。
  2. 文件 菜单上单击 新建
  3. 在任务窗格中单击 空数据库
  4. 键入 logon.mdb 输入文件的名称,然后单击 创建
  5. 对象 窗格中单击 ,然后单击 新建
  6. 单击 设计视图,然后单击 确定
  7. 字段名称 列中的首行键入 UID
  8. 在相应 数据类型 列中单击 文本,然后单击工具栏上的 主键 按钮。

    注意主键 按钮显示为一个钥匙符号。
  9. 字段名称 列的该第二个行中键入 PWD,然后单击 数据类型 列中的第二行中的 文本
  10. 文件 菜单上单击 保存
  11. 表名称 框中键入 tblUsers,然后单击 确定
  12. 视图 菜单上单击 数据表视图
  13. UID 列中键入 testuser
    PWD 列中键入 密码
  14. 文件 菜单上单击 关闭,然后退出 Access 2003。
注意出于安全考虑密码被限制为大写字母、 小写字母和数字的混合。

导入数据库

存储用户名和密码为您创建的数据库导入 Expression Web 中。若要这样做,请按照下列步骤操作:
  1. Expression Web 中打开您登录的网站,在 文件 菜单上单击 导入,然后单击 文件
  2. 单击 添加文件,找到然后单击您创建,logon.mdb 文件,然后单击 打开
  3. 单击 修改,在 您的站点内的文件位置 文本框中键入 _private/logon.mdb,然后单击 确定

    注意没有下划线字符 (_) 前面的"私有"路径中的文件。
  4. 单击 确定 导入数据库文件。
  5. 如果系统提示您创建此导入的文件的数据库连接时,单击

创建 ASP 页

您必须创建要使用此示例的多个文件。第一次,创建主页为您的网站、"不安全"页和受保护的测试,登录网页的页和登录包含文件。

Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证。这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。本文假定您熟悉演示了正在使用的编程语言以及用于创建和调试过程的工具。Microsoft 支持工程师可以帮助解释某个特定过程的功能。但是,他们不会修改这些示例以提供额外的功能或构建过程来满足您的具体要求。

创建主页

此页用作默认页为您的网站。它包括链接到不安全页,并在受保护的 Web 页,您创建的。若要进行一个主页,请按照下列步骤操作:
  1. 在 Expression Web 中单击 文件 菜单上的 新建,然后单击 页面
  2. 新建 对话框中单击 页面 选项卡中的 HTML,然后单击 确定
  3. 在文档窗口的页脚区域中单击 代码 以显示代码视图。
  4. 选择,然后在 Web 页中删除所有 HTML 代码。
  5. 键入或粘贴以下 HTML 代码在 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. 将页面保存为 default.asp 您登录的网站的根文件夹中。
  7. 文件 菜单上单击以关闭 default.asp Web 页的 关闭

创建不安全的页面

创建一个典型的 ASP 页的每个人都可以查看。若要进行不安全的页面,请按照下列步骤操作:
  1. 在 Expression Web 中单击 文件 菜单上的 新建,然后单击 页面
  2. 新建 对话框中单击 页面 选项卡中的 HTML,然后单击 确定
  3. 在文档窗口的页脚区域中单击 代码 以显示代码视图。
  4. 选择,然后在 Web 页中删除所有 HTML 代码。
  5. 键入或粘贴以下 HTML 代码在 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. 将页面保存为 nonsecure.asp 您登录的网站的根文件夹中。
  7. 文件 菜单上单击以关闭 nonsecure.asp Web 页的 关闭

创建受保护的页

在本步骤中页等同于在不安全的 Web 页,以前,创建的不同之处在于您必须将下面的代码代码视图的顶部附近的添加:
<!--#include virtual="/logon/_private/logon.inc"-->
当您将这行代码添加到 ASP 页时,该页面将变为受 logon.inc 文件所创建的密码。若要进行密码保护的 Web 页,请按照下列步骤操作:
  1. 在 Expression Web 中单击 文件 菜单上的 新建,然后单击 页面
  2. 新建 对话框中单击 页面 选项卡中的 HTML,然后单击 确定
  3. 在文档窗口的页脚区域中单击 代码 以显示代码视图。
  4. 选择,然后在 Web 页中删除所有 HTML 代码。
  5. 键入或粘贴以下 HTML 代码在 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. 将页面保存为 passwordprotect.asp 您登录的网站的根文件夹中。
  7. 文件 菜单上单击以关闭 passwordprotect.asp Web 页的 关闭

创建登录页

创建一个登录页类似于典型的 Windows 登录对话框。用户尝试访问受保护的 Web 页被发送到此页键入其用户名和密码。若要进行一个登录页,请按照下列步骤操作:
  1. 在 Expression Web 中单击 文件 菜单上的 新建,然后单击 页面
  2. 新建 对话框中单击 页面 选项卡中的 HTML,然后单击 确定
  3. 在文档窗口的页脚区域中单击 代码 以显示代码视图。
  4. 选择,然后在 Web 页中删除所有 HTML 代码。
  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. 将页面保存为 logon.asp 您登录的网站的根文件夹中。
  7. 文件 菜单上单击以关闭 logon.asp Web 页的 关闭

创建登录包含文件

包含文件提供了用户的名称和密码功能。它可以在受保护的 Web 页和登录网页被使用。若要创建登录包含文件,请按照下列步骤:
  1. 在表达式 Web 设计器中,单击 文件 菜单上的 新建,然后单击 页面
  2. 新建 对话框中单击 页面 选项卡中的 HTML,然后单击 确定
  3. 在文档窗口的页脚区域中单击 代码 以显示代码视图。
  4. 选择,然后在 Web 页中删除所有 HTML 代码。
  5. 键入或粘贴以下 HTML 代码中 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. 将页面保存为 logon.inc 登录 Web 站点的 _private 文件夹中。
  7. 文件 菜单上单击以关闭 logon.inc Web 页的 关闭

测试登录网站

若要这样做,请按照下列步骤操作:
  1. 在 Expression Web Default.asp 用鼠标右键单击,在 文件夹列表 窗格中,然后单击 在浏览器中的预览

    在 Web 浏览器加载示例主页上,并显示了您没有登录。
  2. 单击 不安全的页面 链接。

    在页加载并显示了您没有登录。单击 回到默认 链接以返回到默认的网页。
  3. 单击 受密码保护页 的链接。

    而不是受保护页的加载 logon.asp 页。
  4. 用户名 框中键入 testuser、 在 密码 框中键入 密码,然后单击 登录

    受保护的页出现,并显示您登录为 testuser。单击 回到默认 链接以返回到默认的网页。在主页上加载并显示您登录为 testuser
  5. 单击 不安全的页面 链接。

    在页加载并显示您登录为 testuser

自定义登录的网站

您可以通过以下方式自定义登录示例网站:
  • 添加用户名和密码,请执行以下操作:
    您可以在 Expression Web 中打开数据库,然后将用户添加到 tblUsers 表。
  • 创建受保护密码的其他 Web 页,请执行以下操作:
    若要进行由您的 Web 站点中的密码保护的其他网页必须通过使用.asp 文件扩展名为,如 Mypage.asp,将文件保存,然后将以下两行添加到最顶部的代码视图:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    第一行指定脚本语言都使用的 Microsoft Visual Basic 脚本版 (VBScript)。第二行包含用户名称,并从登录密码功能包含前面创建的文件。

参考

有关如何创建通过使用 FrontPage 2003、 活动服务器页,和 Access 数据库中由密码保护的 Web 页的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
825498如何通过使用 FrontPage 2003、 活动服务器页,和 Access 数据库中创建受密码保护的 Web 页

有关如何帮助保护在客户端和服务器之间的 HTTP 通信的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
299525如何设置 SSL 通过使用 IIS 5.0 和证书服务器 2.0
299875如何在 IIS 中实现 SSL

有关如何与数据库集成活动服务器页面 (ASP) 的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
299987如何使用来实现 ASP 安全性的数据库和 ASP 会话
300382如何从 ASP 页在 IIS 中创建的数据库连接
318287您需要使用 FrontPage 2002 中的活动服务器页面 (ASP)

属性

文章编号: 928706 - 最后修改: 2007年4月17日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft Expression Web
关键字:?
kbmt kbexpertiseinter kbhowto KB928706 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 928706
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

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