HOW TO:如何在 FrontPage 2002 中使用用户名和密码的数据库

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

本文内容

概要

本文逐步介绍了如何使用 Microsoft FrontPage 2002、Active Server Pages (ASP) 和 Microsoft Access 数据库创建简单的文件安全解决方案。

重要说明

  • 本文中的代码示例并不适合替代 FrontPage 内置安全功能。这些示例仅为要浏览您的 Web 站点的用户提供一种简单的安全机制。因此,FrontPage 2002 安全不与添加到 Microsoft Access 数据库的用户名和密码集成。
  • 所键入的用户名和密码通过 Internet 以纯文本形式传输。要获取更高的安全性,Microsoft 建议您使用可利用安全套接字层 (SSL) 加密的 Web 服务器。有关详细信息,请咨询您的 Web 站点管理员或 Internet 服务提供商 (ISP)。

步骤 1 - 准备使用 FrontPage 2002 中的 ASP 功能

您必须先安装以下 Microsoft 知识库文章中列出的组件,然后才能使用 FrontPage 2002 中的 ASP 功能:
318287 FP:What You Need to Use Active Server Pages (ASP) in FrontPage 2002

步骤 2 - 在 FrontPage 2002 中创建一个新站点

注意:要使此代码示例正常工作,您必须确保 Web 名称是 LOGON,并且该 Web 是您的 Web 站点根目录外部的子 Web。
  1. 文件菜单上,单击新建,然后单击网页或站点
  2. 在任务窗格中,单击 Web 站点模板
  3. 在模板列表中,单击空白站点
  4. 使用以下语法指定服务器上 Web 的位置
    http://您的服务器/logon/
    其中您的服务器 是启用了 ASP 的 Web 服务器的名称。
  5. 单击确定

步骤 3 - 使用 Microsoft Access 创建一个数据库

  1. 启动 Microsoft Access。
  2. 文件菜单上,单击新建
  3. 在选项列表中,单击空白数据库
  4. 将文件命名为 logon.mdb 并将其保存到您的桌面。
  5. 部分,单击新建
  6. 在列表中,单击设计视图,然后单击确定
  7. 创建两个字段:
    1. 字段名中,键入 UID。在数据类型中,单击文本,然后单击主键
    2. 字段名中,键入 PWD。在数据类型中,单击文本
  8. 文件菜单上,单击保存。将表命名为 tblUsers,然后单击确定
  9. 查看菜单上,单击数据表视图
  10. UID 列中,键入 testuser。在 PWD 列中,键入 password
  11. 文件菜单上,单击关闭以关闭该表。
  12. 退出 Microsoft Access。

步骤 4 - 导入 Microsoft Access 数据库

  1. 文件菜单上单击导入
  2. 单击添加文件
  3. 查找范围列表中,单击您的桌面。
  4. 单击您在以下步骤中创建的 logon.mdb 文件:步骤 3,然后单击打开
  5. 单击修改
  6. 将 URL 更改为 _private/logon.mdb,然后单击确定
  7. 单击确定,导入该文件。
  8. 如果系统提示您添加数据库连接,请单击

步骤 5 - 创建 ASP 页

您必须创建几个文件以在此示例中使用。首先,为您的 Web 站点创建一个主页 、一个用于测试的不安全页面 和一个安全的页面 ,然后创建登录 Web 页登录包含文件

步骤 5a - 创建主页

此页充当您站点的默认页,并且包含指向您稍后创建的不安全页面安全的页面 的链接。
  1. FrontPage 工具栏中,单击新建页
  2. 切换到 HTML 视图,然后删除所有现有的 HTML 代码。
  3. 将以下代码键入或粘贴到该页:
    <% @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</li>
    <li><a href="unsecure.asp">Unsecure Page</li>
    </ul>
    </body>
    </html>
    					
  4. 将该页面作为 default.asp 保存在 Web 的根文件夹中。
  5. 单击文件菜单中的关闭以关闭该页。

步骤 5b - 创建一个不安全的页面

此页面是任何人都可以浏览的基本 ASP 页。
  1. FrontPage 工具栏中,单击新建页
  2. 切换到 HTML 视图,然后删除所有现有的 HTML 代码。
  3. 将以下代码键入或粘贴到该页:
    <% @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>
    </body>
    </html>
    					
  4. 将该页面作为 unsecure.asp 保存在 Web 的根文件夹内。
  5. 单击文件菜单中的关闭以关闭该页。

步骤 5c - 创建一个安全的页面

此步骤中的页面与您在步骤 5b 中创建的不安全页相同,只不过您可以向该页的顶部附近添加以下代码行:
<!--#include virtual="/logon/_private/logon.inc"-->
				
向任何 ASP Web 页添加此代码行都会使该页成为“安全”Web 页。
  1. FrontPage 工具栏中,单击新建页
  2. 切换到 HTML 视图,然后删除所有现有的 HTML 代码。
  3. 将以下代码键入或粘贴到该页:
    <% @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>
    </body>
    </html>
    					
  4. 将该页面作为 secure.asp 保存在 Web 的根文件夹内。
  5. 单击文件菜单中的关闭以关闭该页。

步骤 5d - 创建登录页面

登录页的设计与标准 Windows 登录对话框相似。尝试访问安全的页面 的用户进入此页,以键入他们的用户名和密码。
  1. FrontPage 工具栏中,单击新建页
  2. 切换到 HTML 视图,然后删除所有现有的 HTML 代码。
  3. 将以下代码键入或粘贴到该页:
    <% @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. 将该页面作为 logon.asp 保存在 Web 的根文件夹内。
  5. 单击文件菜单中的关闭以关闭该页。

步骤 5e - 创建登录包含文件

此包含文件提供用户名和密码功能,并可供安全的页面登录页面使用。
  1. FrontPage 工具栏中,单击新建页
  2. 切换到 HTML 视图,然后删除所有现有的 HTML 代码。
  3. 将以下代码键入或粘贴到该页:
    <%
      ' 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='" & UID & "' AND PWD='" & 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
    %>
  4. 将该页面作为 logon.inc 保存在 Web 的 _private 文件夹内。
  5. 单击文件菜单中的关闭以关闭该页。

步骤 6 - 测试登录页面

  1. 在 FrontPage 的文件夹列表内,单击 default.asp。在 FrontPage 工具栏上,单击在浏览器中预览
  2. 现在,您的浏览器会加载示例主页并指出您尚未登录。
  3. 单击不安全页面的链接。该页会加载并指出您尚未登录。单击该链接,回到默认页面。
  4. 单击指向不安全页面的链接。登录页而不是安全页会加载。
  5. 键入 testuser 作为用户名,键入 password 作为密码,然后单击登录
  6. 安全页会显示,并指出您已经以 testuser 的身份登录。单击该链接,回到默认页面。
  7. 示例主页会加载,并会指出您已经以 testuser 的身份登录。
  8. 单击不安全页面的链接。该页会加载,并指出您已经以 testuser 的身份登录。

自定义登录示例

您可以用下列方法自定义登录示例:
  • 添加用户名和密码:您可以通过在 FrontPage 中双击数据库来打开它,然后向 tblUsers 表添加用户。
  • 确保其他 Web 页的安全:要确保 Web 中其他 Web 页的安全,您必须使用 ASP 文件名扩展名保存该文件(例如,mypage.asp),然后将以下两行添加到文件的顶部:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    						
    第一行指定您要使用 Microsoft Visual Basic Scripting Edition (VBScript) 作为脚本语言,第二行包括您在前面创建的登录包含文件 中的用户名和密码功能。

参考

有关如何将 Active Server Pages (ASP) 与数据库和安全性进行集成的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
299987 HOW TO:Use Database and ASP Sessions to Implement ASP Security
300382 HOW TO:Create a Database Connection from an ASP Page in IIS

属性

文章编号: 321439 - 最后修改: 2006年12月18日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft FrontPage 2002 标准版
关键字:?
kbhowto kbhowtomaster KB321439
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