現在オフラインです。再接続するためにインターネットの接続を待っています

[HOW TO] FrontPage 2002 でユーザー名とパスワード用にデータベースを使用する方法

概要
この資料では、Microsoft FrontPage 2002、Active Server Pages (ASP)、および Microsoft Access データベースを使用した、シンプルなファイル セキュリティ ソリューションを作成する方法について順をおって説明します。

注意事項

  • この資料のサンプル コードは、FrontPage の組み込みセキュリティ機能を置き換えるものとしては設計されていません。サンプル コードは、Web サイトを参照するユーザー専用の簡単なセキュリティ メカニズムを提供するように設計されています。したがって、FrontPage 2002 のセキュリティと Microsoft Access データベースに追加されたユーザー名とパスワードとは統合されません。
  • 入力されたユーザー名とパスワードは、テキスト形式でインターネット上に送信されます。セキュリティをより高めるためには、Secure Sockets Layer (SSL) 暗号化を使用可能な Web サーバーの使用が推奨されます。詳細については、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 を作成する

: このサンプル コードを正常に機能させるためには、Web の名前を LOGON とし、Web サイトのルートのサブ Web とする必要があります。
  1. [ファイル] メニューの [新規作成] をポイントし、[ページまたは Web] をクリックします。
  2. 作業ウィンドウ内の [Web サイト テンプレート] をクリックします。
  3. テンプレートの一覧から [空の Web] をクリックします。
  4. 次の構文を使用して、サーバー上の Web の場所を指定します。
    http://サーバー/logon/
    ここで、サーバー は、ASP の利用が可能な Web サーバーの名前です。
  5. [OK] をクリックします。
先頭に戻る

手順 3 : Microsoft Access を使用してデータベースを作成する

  1. Microsoft Access を起動します。
  2. [ファイル] メニューの [新規作成] をクリックします。
  3. 選択項目の一覧から [空のデータベース] をクリックします。
  4. ファイルに logon.mdb と名前と付けて、デスクトップに保存します。
  5. 左側のウィンドウで [テーブル] が選択されていることを確認してから、[新規作成] をクリックします。
  6. [新しいテーブル] ダイアログ ボックスの一覧から [デザイン ビュー] をクリックして [OK] をクリックします。
  7. フィールドを 2 つ作成します。
    1. [フィールド名] に UID と入力します。[データ型] で [テキスト型] をクリックして、[編集] メニューの [主キー] をクリックします。
    2. [フィールド名] に PWD と入力します。[データ型] で [テキスト型] をクリックします。
  8. [ファイル] メニューの [上書き保存] をクリックします。テーブルに tblUsers という名前を付け、[OK] をクリックします。
  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 に変更して、[OK] をクリックします。
  7. [OK] をクリックしてファイルをインポートします。
  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 : Logon Web をテストする

  1. FrontPage の [フォルダ一覧] で、default.asp をクリックします。FrontPage ツール バーで、[ブラウザでプレレビュー] をクリックします。
  2. ブラウザによりサンプル ホーム ページが読み込まれ、ログオンしていないことが表示されます。
  3. セキュリティで保護されていないページへのリンクをクリックします。ページが読み込まれ、ログオンしていないことが表示されます。リンクをクリックしてデフォルトのページに戻ります。
  4. セキュリティで保護されているページへのリンクをクリックします。セキュリティで保護されているページの代わりにログオン ページが読み込まれます。
  5. 名前に testuser と入力し、パスワードに password と入力して、LOGON をクリックします。
  6. セキュリティで保護されたページが表示され、testuser としてログオンしていることが表示されます。リンクをクリックしてデフォルトのページに戻ります。
  7. サンプル ホーム ページが読み込まれ、testuser としてログオンしていることが表示されます
  8. セキュリティで保護されていないページへのリンクをクリックします。ページが読み込まれ、testuser としてログオンしていることが表示されます。
先頭に戻る

ログオン サンプルをカスタマイズする

以下の方法で、ログオン サンプルをカスタマイズすることができます。
  • ユーザー名とパスワードを追加する : データベースをダブルクリックすることにより FrontPage でデータベースを開き、tblUsers テーブルにユーザーを追加することができます。
  • 他の Web ページをセキュリティで保護する : Web 内の他の Web ページをセキュリティで保護するには、ファイル名拡張子 ASP (たとえば、mypage.asp) を付けてファイルを保存してから、次の 2 行をファイルの先頭に追加する必要があります。
    <% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"-->
    最初の行で、スクリプト言語として Microsoft Visual Basic Scripting Edition (VBScript) の使用を指定し、2 行目で、前の手順で作成した ログオン インクルード ファイルのユーザー名とパスワード機能を組み込みます。
先頭に戻る
関連情報
ASP をデータベースおよびセキュリティと統合する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
299987 HOW TO: Use Database and ASP Sessions to Implement ASP Security
299987 [HOW TO] データベースと ASP セッションを使って ASP セキュリティを実装する
300382 HOW TO: Create a Database Connection from an ASP Page in IIS
300382 [HOW TO] ASP ページからデータベース接続を作成する : 接続文字列のサンプル
先頭に戻る
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 321439 (最終更新日 2002-10-26) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。
front page fpse
プロパティ

文書番号:321439 - 最終更新日: 12/18/2006 10:20:42 - リビジョン: 1.1

  • Microsoft FrontPage 2002 Standard Edition
  • kbhowto kbhowtomaster KB321439
フィードバック