HOW TO:如何使用 FrontPage 2002 中使用者名稱和密碼的資料庫

文章翻譯 文章翻譯
文章編號: 321439 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將逐步告訴您如何使用 Microsoft FrontPage 2002、Active Server Pages (ASP) 和 Microsoft Access 資料庫,建立一個簡易檔案安全解決方案。

重要事項

  • 本文中的範例程式碼不是為了取代 FrontPage 中內建的安全功能而設計的。 此範例之設計是為正在瀏覽您的網站之使用者提供簡易的安全性防護機制。也因此,FrontPage 2002 的安全性並未整合加入 Microsoft Access 資料庫的使用者名稱和密碼。
  • 輸入的使用者名稱和密碼是以純文字的形式透過網際網路傳輸。若想要有更嚴密的安全性,Microsoft 建議您使用可以使用 Secure Sockets Layer (SSL) 編碼的 Web 伺服器。 如需詳細資訊,請詢問您的網站管理員或「網際網路服務提供者」(ISP)。

步驟 1 - 準備使用 FrontPage 2002 中的 ASP 功能

在您使用 FrontPage 2002 中的 ASP 功能前,必須先安裝以下在 Microsoft Knowledge Base 文件中所列出的元件:
318287 FP:What You Need to Use Active Server Pages (ASP) in FrontPage 2002

步驟 2 - 在 FrontPage 2002 中建立新的網站

注意:為了讓這個範例程式碼能正確運作,您必須確定 Web 名稱是 LOGON,且是您網站的根目錄下的子 Web。
  1. [檔案] 功能表中,按一下 [開新檔案],再按一下 [網頁或 Web]
  2. 在工作窗格中,按一下 [網站範本]
  3. 在範本清單中,按一下 [空白網站]
  4. 使用下列語法指定您伺服器上的網站位置
    http://your server/logon/
    其中your server是您啟用 ASP 的伺服器名稱。
  5. 按一下 [確定]

步驟 3 - 使用 Microsoft Access 建立一個資料庫

  1. 開啟 Microsoft Access。
  2. [檔案] 功能表中,按一下 [開新檔案]
  3. 在選項列表中,按一下 [空白資料庫]
  4. 將檔案命名為 logon.mdb並將其儲存到您的桌面上。
  5. [表格] 部分,按一下 [新增]
  6. 在清單中,按一下 [設計檢視],再按一下 [確定]
  7. 建立 2 個欄位:
    1. [欄位名稱],輸入 UID。在 [資料類型] 按一下 [文字],再按一下 [主索引鍵]
    2. [欄位名稱] 中輸入 PWD。在 [資料類型] 中,按一下 [文字]
  8. [檔案] 功能表中,按一下 [存檔]。將表格命名為 tblUsers,再按一下 [確定]
  9. [檢視] 功能表中,按一下 [資料工作表檢視]
  10. [UID] 欄位,輸入 testuser。在 [PWD] 欄位,輸入 password
  11. [檔案] 功能表,按一下 [關閉檔案] 以關閉表格。
  12. 結束 Microsoft Access。

步驟 4 - 匯入 Microsoft Access 資料庫

  1. [檔案] 功能表,按一下 [匯入]
  2. 按一下 [加入檔案]
  3. [查詢] 清單中,按一下您的桌面。
  4. 按一下您在步驟 3 建立的 logon.mdb 檔案,然後按一下 [開啟]
  5. 按一下 [修改]
  6. 將 URL 變更至 _private/logon.mdb,再按一下 [確定]
  7. 按一下 [確定] 將檔案匯入。
  8. 如果出現提示要您新增資料庫連線,按一下 [否]

步驟 5 - 建立 ASP 頁面

您必建立幾個檔案後才能使用這個範例 首先,為您的網站建立首頁未設定安全保護的頁面已設定安全保護的頁面以供測試,以及登入網頁登入包含檔案

步驟 5a - 建立首頁

此頁面是作為您網站的預設網頁,並包含連結到稍後將建立的未設定安全保護的頁面已設定安全保護的頁面
  1. FrontPage 工具列,按一下 [開新網頁]
  2. 切換至 HTML 檢視,然後刪除全部現有的 HTML 碼。
  3. 在網頁上輸入或貼上以下的 HTML 碼:
    <% @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. 在網頁上輸入或貼上下面的 HTML 碼:
    <% @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 - 建立有設定安全保護的頁面

本步驟中的網頁與您在 Step 5b 中建立的未設定安全保護的頁面一樣,但要在網頁的頂端加上下面一行程式碼:
<!--#include virtual="/logon/_private/logon.inc"-->
				
在任何 ASP 網頁加上這行程式碼可以讓該網頁成為「有設定安全保護」的網頁。
  1. FrontPage 工具列,按一下 [開新網頁]
  2. 切換至 HTML 檢視,並刪除全部現有的 HTML 碼。
  3. 在網頁上輸入或貼上下面的 HTML 碼:
    <% @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. 在網頁上輸入或貼上下面的 HTML 碼:
    <% @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. 在網頁上輸入或貼上下面的 HTML 碼:
    <%
      ' 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,然後按一下 LOGON
  6. 出現有設定安全保護的網頁,並顯示您登入為 testuser。按一下連結回到預設網頁。
  7. 載入範例首頁並顯示您登入為 testuser
  8. 按一下未設定安全保護的網頁的連結。載入網頁並顯示您登入為 testuser。

自訂登入範例

您可以下列方式自訂登入範例:
  • 新增使用者名稱和密碼:您可以在 FrontPage 中按兩下資料庫將它開啟,然後在 tblUsers 表格中新增使用者。
  • 有設定安全保護的網頁:如果要在您的 Web 中為另一個網頁設定安全保護,必須將檔案以 ASP 副檔名儲存,例如,mypage.asp,然後將以下 2 行加入到檔案的最頂端:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    						
    第一行指定您是用 Microsoft Visual Basic Scripting Edition (VBScript) 做為指令碼語言,第二行包括您在先前建立的 logon include file 中的使用者名稱和密碼功能。

?考

如需有關整合 Active Server Pages (ASP) 與資料庫和安全性的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」的下列文件:
299987 HOW TO:使用資料庫和 ASP 工作階段來執行 ASP 安全性
300382 HOW TO:從 ASP 網頁建立與資料庫的連線:連線字串範例

屬性

文章編號: 321439 - 上次校閱: 2006年12月18日 - 版次: 1.1
這篇文章中的資訊適用於:
  • Microsoft FrontPage 2002 Standard Edition
關鍵字:?
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