Wie Sie eine Webseite erstellen, die kennwortgeschützt ist mit Expression Web, Active Server Pages und einer Access-Datenbank

Zusammenfassung

Dieser schrittweise aufgebaute Artikel beschreibt, wie eine einfache Webseite Lösung erstellen, die Kennwortschutz mit Microsoft Expression Web, Active Server Pages (ASP) und einer Microsoft Access-Datenbank enthält.
  • Der Beispielcode in diesem Artikel dient nicht integrierte Sicherheitsfunktionalität Expression Web ersetzen. Die Beispiele sollen einfacher Sicherheitsmechanismus für Benutzer, die Ihre Website durchsuchen. Expression Web Security Integration daher nicht mit dem Benutzernamen und Kennwörter, die die Access-Datenbank hinzugefügt werden.
  • Benutzernamen und Kennwörter, die in eingegeben werden im Klartext über das Internet übertragen. Zur Erhöhung der Sicherheit wird empfohlen, dass Sie einen Webserver verwenden, der Secure Sockets Layer (SSL)-Verschlüsselung verwendet. Weitere Informationen erhalten Sie von Ihrem Serveradministrator oder Internetdienstanbieter (ISP).

Einführung

Dieser Artikel beschreibt, wie eine Webseite erstellen, die mit Expression Web, ASP und einer Access-Datenbank durch Kennwort geschützt ist.

Weitere Informationen

Verwenden Sie die ASP-Funktionen in Expression Web

Bevor Sie die ASP-Funktionen in Expression Web verwenden, müssen Sie Zugriff auf einen Webserver oder ein datenträgerbasiertes Web, das ASP unterstützt.

Erstellen einer neuen Website in Expression Web

Hinweis Das Beispiel geht davon aus, dass Namen einer Website anmelden und die Anmelde-Website als Sub Web im Stammverzeichnis der Website erstellt wird. Wenn Sie einen als Anmeldung Namen oder eine Website an einem anderen Speicherort erstellen, müssen Sie die Schritte in diesem Artikel entsprechend ändern.

Schritte zum Erstellen einer neuen Website in Expression Web:
  1. Starten Sie Expression Web.
  2. Im Menü Datei auf neuund klicken Sie dann auf Website.
  3. Klicken Sie im Dialogfeld neu auf der Registerkarte Website auf leere Website .
  4. Geben Sie im Feld Adresse der neuen Website den Speicherort der neuen Website im folgenden Format gespeichert:

    http://servername/logon
  5. Klicken Sie auf OK.
Die neue leere Website Anmeldung Namens wird in Expression Web geöffnet.

Erstellen einer Datenbank

Sie können Benutzernamen und Kennwörter speichern, indem Sie mit einem Datenbankprogramm wie Microsoft Office Access 2003-Datenbank erstellen.

Hinweis Wenn Sie ein Datenbankprogramm als Access 2003 zum Erstellen der Datenbank verwenden, passen Sie diese Schritte entsprechend.

Gehen Sie folgendermaßen vor, um eine Datenbank zu erstellen:
  1. Starten Sie Access 2003.
  2. Klicken Sie im Menü Datei auf neu.
  3. Klicken Sie im Aufgabenbereich auf leere Datenbank.
  4. Geben Sie logon.mdb für den Dateinamen, und klicken Sie auf Erstellen.
  5. Im Objektbereich auf Tabellenund klicken Sie dann auf neu.
  6. Klicken Sie auf Entwurfsansichtund klicken Sie dann auf OK.
  7. Geben Sie in der ersten Zeile der Spalte Feldname die Bezeichnung "UID" ein.
  8. Klicken Sie in der entsprechenden Spalte auf Textund klicken Sie dann auf der Symbolleiste auf Primärschlüssel .

    Hinweis Die Primäre Taste wird als ein Schlüsselsymbol angezeigt.
  9. Geben Sie in der zweiten Zeile der Spalte Feldname PWD, und klicken Sie dann auf Text in der zweiten Zeile der Spalte .
  10. Klicken Sie im Menü Datei auf Speichern.
  11. Geben Sie im Feld Tabellenname TblUsersund klicken Sie dann auf OK.
  12. Klicken Sie im Menü Ansicht auf Datenblattansicht.
  13. Geben Sie in der Spalte UID Testuserein.
    Geben Sie in der Spalte PWD Kennwort ein.
  14. Im Menü Datei auf Schließen, und beenden Sie Access 2003.
Hinweis Aus Sicherheitsgründen sind Kennwörter auf eine Mischung aus Großbuchstaben, Kleinbuchstaben und Zahlen.

Importieren der Datenbank

Importieren Sie die erstellte Datenbank Speicher Benutzernamen und Kennwörter in Expression Web Gehen Sie hierzu folgendermaßen vor:
  1. Öffnen Sie in Expression Web Ihrer Website, klicken Sie im Menü Datei auf Importieren , und klicken Sie auf Datei.
  2. Klicken Sie auf Datei hinzufügen, suchen Sie und klicken Sie auf die Datei logon.mdb , die Sie erstellt haben und klicken Sie auf Öffnen.
  3. Klicken Sie auf Ändernund geben Sie im Textfeld Dateipfad innerhalb Ihrer Website _private/logon.mdb .

    Hinweis Es ist ein Unterstrich (_) vor "Private" in den Pfad der Datei.
  4. Klicken Sie auf OK , um die Datenbankdatei zu importieren.
  5. Wenn Sie aufgefordert werden, eine Verbindung zur Datenbank für die importierte Datei zu erstellen, klicken Sie auf Nein.

ASP-Seiten erstellen

Sie müssen mehrere Dateien mit diesem Beispiel zu erstellen. Erstellen Sie zunächst eine Homepage für Ihre Website eine "unsichere" Seite und eine Seite zum Testen der Webseite Anmeldung geschützt ist und das Logon-Includedatei.

Microsoft bietet Programmierbeispiele lediglich zur Veranschaulichung, ohne ausdrückliche oder konkludente Gewährleistung. Dies beinhaltet, ist jedoch nicht beschränkt auf, konkludente Gewährleistungen der Tauglichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der von Beispielen verwendeten Programmiersprache und den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supporttechniker helfen der Erläuterung der Funktionalität bestimmter Prozeduren. Allerdings werden sie diese Beispiele nicht ändern, um zusätzliche Funktionalität bereitzustellen oder Prozeduren erstellen, die Ihren spezifischen Bedürfnisse erfüllen.

Die Homepage erstellen

Diese Seite dient als Standardseite für Ihre Site. Sie enthält Links zu der unsicheren Seite und zur geschützten Webseite erstellen. Gehen Sie folgendermaßen vor, um eine Homepage zu erstellen:
  1. Klicken Sie in Expression Web im Menü Datei auf neu , und klicken Sie dann auf Seite.
  2. Klicken Sie im Dialogfeld neu klicken Sie auf die Registerkarte HTML und klicken Sie dann auf OK.
  3. Klicken Sie im Fußzeilenbereich des Dokumentfensters auf Code Code anzeigen.
  4. Markieren Sie und entfernen Sie den HTML-Code der Webseite.
  5. Geben Sie oder fügen Sie den folgenden HTML-Code der Webseite.
    <% @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. Speichern Sie die Seite als "default.asp" im Stammordner Ihrer Website.
  7. Klicken Sie im Menü Datei auf Schließen , um die Webseite "default.asp" zu schließen.

Erstellen der unsicheren Seite

Erstellen Sie eine normale ASP-Seite, die jeder Benutzer anzeigen. Gehen Sie folgendermaßen vor, um eine unsichere Seite zu erstellen:
  1. Klicken Sie in Expression Web im Menü Datei auf neu , und klicken Sie dann auf Seite.
  2. Klicken Sie im Dialogfeld neu klicken Sie auf die Registerkarte HTML und klicken Sie dann auf OK.
  3. Klicken Sie im Fußzeilenbereich des Dokumentfensters auf Code Code anzeigen.
  4. Markieren Sie und entfernen Sie den HTML-Code der Webseite.
  5. Geben Sie oder fügen Sie den folgenden HTML-Code der Webseite.
    <% @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. Speichern Sie die Seite als nonsecure.asp im Stammordner Ihrer Website.
  7. Klicken Sie im Menü Datei auf Schließen , um die Webseite "nonsecure.asp" zu schließen.

Die geschützte Seite erstellen

Die Seite in diesem Schritt entspricht der unsicheren Seite, die Sie zuvor erstellt haben, müssen Sie den folgenden Code oben in der Codeansicht hinzufügen:
<!--#include virtual="/logon/_private/logon.inc"-->
Beim Hinzufügen dieser Codezeile zu einer ASP-Seite wird die Seite nach der Datei "Logon.Inc" kennwortgeschützt sein, die Sie erstellen. Erstellen eine Webseite, die kennwortgeschützt ist, gehen Sie folgendermaßen vor:
  1. Klicken Sie in Expression Web im Menü Datei auf neu , und klicken Sie dann auf Seite.
  2. Klicken Sie im Dialogfeld neu klicken Sie auf die Registerkarte HTML und klicken Sie dann auf OK.
  3. Klicken Sie im Fußzeilenbereich des Dokumentfensters auf Code Code anzeigen.
  4. Markieren Sie und entfernen Sie den HTML-Code der Webseite.
  5. Geben Sie oder fügen Sie den folgenden HTML-Code der Webseite.
    <% @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. Speichern Sie die Seite als "passwordprotect.asp" im Stammordner Ihrer Website.
  7. Klicken Sie im Menü Datei auf Schließen , um die Webseite "passwordprotect.asp" zu schließen.

Erstellen der Anmeldeseite

Erstellen Sie eine Anmeldung Seite ähnelt einem normalen Windows-Anmeldedialogfeld. Auf dieser Seite erhalten Benutzer versuchen, die geschützte Webseite ihre Benutzernamen und Kennwörter eingeben. Gehen Sie folgendermaßen vor, um eine Anmeldeseite zu erstellen:
  1. Klicken Sie in Expression Web im Menü Datei auf neu , und klicken Sie dann auf Seite.
  2. Klicken Sie im Dialogfeld neu klicken Sie auf die Registerkarte HTML und klicken Sie dann auf OK.
  3. Klicken Sie im Fußzeilenbereich des Dokumentfensters auf Code Code anzeigen.
  4. Markieren Sie und entfernen Sie den HTML-Code der Webseite.
  5. Geben Sie oder fügen Sie den folgenden HTML-Code der Webseite.
    <% @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. Speichern Sie die Seite als "Logon.asp" im Stammordner Ihrer Website.
  7. Klicken Sie im Menü Datei auf Schließen , um die Webseite "Logon.asp" zu schließen.

Erstellen der Anmelde-Includedatei

Die Include-Datei ermöglicht die Benutzer und Kennwort. Sie können geschützte Webseite und die Anmeldewebseite verwendet werden. Die Anmeldung erstellt Datei, gehen Sie folgendermaßen vor:
  1. Klicken Sie in Expression Web Designer im Menü Datei auf neu , und klicken Sie dann auf Seite.
  2. Klicken Sie im Dialogfeld neu klicken Sie auf die Registerkarte HTML und klicken Sie dann auf OK.
  3. Klicken Sie im Fußzeilenbereich des Dokumentfensters auf Code Code anzeigen.
  4. Markieren Sie und entfernen Sie den HTML-Code der Webseite.
  5. Geben Sie oder fügen Sie den folgenden HTML-Code der Webseite.
    <%  ' 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. Speichern Sie die Seite als logon.inc im Ordner _private Ihrer Website.
  7. Klicken Sie im Menü Datei auf Schließen , um die Webseite logon.inc schließen.

Testen der Anmeldewebsite

Gehen Sie hierzu folgendermaßen vor:
  1. In Expression Web Maustaste Default.asp in der Ordnerliste , und klicken Sie auf Vorschau im Browser.

    Der Webbrowser lädt die Beispiel-Homepage und zeigt an, dass Sie nicht angemeldet sind.
  2. Klicken Sie auf unsicheren Seite .

    Die Seite wird geladen und zeigt an, dass Sie nicht angemeldet sind. Klicken Sie auf den Standardwert der Standardseite zurückzukehren.
  3. Klicken Sie auf kennwortgeschützte Seite .

    Die Seite "Logon.asp" lädt anstelle der geschützten Seite.
  4. Geben Sie in das Feld Benutzername TestuserGeben Sie Kennwort im Feld Kennwort ein und klicken Sie auf Anmeldung.

    Die geschützte Seite wird angezeigt und zeigt an, dass Sie als Testbenutzerangemeldet sind. Klicken Sie auf den Standardwert der Standardseite zurückzukehren. Die Homepage geladen und zeigt an, dass Sie als Testbenutzerangemeldet sind.
  5. Klicken Sie auf unsicheren Seite .



    Die Seite wird geladen und zeigt an, dass Sie als Testbenutzerangemeldet sind.

Anpassen der Anmeldewebsite

Sie können die Website wird auf folgende Weise anpassen:
  • Fügen Sie Benutzernamen und Kennwörter:
    Sie können die Datenbank in Expression Web öffnen und Tabelle "TblUsers " Benutzer hinzufügen.
  • Erstellen Sie Webseiten, die kennwortgeschützt sind:
    Einer anderen Webseite erstellen, die in Ihrer Website kennwortgeschützt ist, müssen Sie speichern Sie die Datei mithilfe von ASP-Erweiterung, wie "MyPage.asp"und fügen Sie die folgenden zwei Zeilen ganz oben der Codeansicht:
    <% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"-->
    Die erste Zeile gibt an, dass Sie Microsoft Visual Basic Scripting Edition (VBScript) als Skriptsprache verwenden. Die zweite Zeile enthält die Benutzernamen- und Kennwortfunktionalität aus der Logon-Includedatei, die Sie zuvor erstellt haben.

Referenzen

Weitere Informationen zum Erstellen einer Webseite, die kennwortgeschützt ist mit FrontPage 2003, Active Server Pages und einer Access-Datenbank klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

825498 wie eine kennwortgeschützte Webseite mit FrontPage 2003, Active Server Pages und einer Access-Datenbank erstellen


Weitere Informationen zum Sichern die HTTP-Kommunikation zwischen Client und Server klicken Sie auf die folgenden Artikelnummern klicken, um die Artikel der Microsoft Knowledge Base:

299525 wie SSL mit IIS 5.0 und Certificate Server 2.0

299875 zum Implementieren von SSL in IIS


Weitere Informationen zur Integration von Active Server Pages (ASP) mit Datenbanken finden Sie in den folgenden zu Artikeln der Microsoft Knowledge Base:

299987 Verwendung Datenbank und ASP-Sitzungen ASP-Sicherheit zu implementieren

300382 zum Erstellen einer Verbindungs von einer ASP-Seite in IIS

318287 brauchen Sie mit Active Server Pages (ASP) in FrontPage 2002

Eigenschaften

Artikelnummer: 928706 – Letzte Überarbeitung: 14.01.2017 – Revision: 1

Feedback