Al momento sei offline in attesa che la connessione Internet venga ristabilita

Utilizzo di un database per nomi utente e password in FrontPage 2002

Per la versione di questo articolo relativa a Microsoft FrontPage 2000, vedere 321503.
Sommario
In questo articolo viene descritto in dettaglio come creare una semplice soluzione di protezione file utilizzando Microsoft FrontPage 2002, le pagine ASP e un database di Microsoft Access.

Note importanti

  • Il codice di esempio fornito in questo articolo non è destinato a sostituire la funzionalità di protezione incorporata in FrontPage. Gli esempi sono progettati per fornire un semplice meccanismo di protezione solo per gli utenti che esplorano il sito Web. Pertanto la funzionalità di protezione di FrontPage 2002 non viene integrata con i nomi utente e le password aggiunte al database di Microsoft Access.
  • I nomi utente e le password digitati vengono trasmessi attraverso Internet come testo normale. Per migliorare la protezione, si consiglia di utilizzare un server Web che supporti la crittografia SSL (Secure Sockets Layer). Per ulteriori informazioni, contattare l'amministratore del sito Web o il provider di servizi Internet (ISP).
Torna all'inizio

Passaggio 1 - Preparazione all'utilizzo delle funzionalità ASP in FrontPage 2002

Per utilizzare le funzionalità ASP in FrontPage 2002, è necessario installare i componenti citati nel seguente articolo della Microsoft Knowledge Base:
318287 Elementi necessari per l'utilizzo di pagine ASP in FrontPage 2002

Passaggio 2 - Creazione di un nuovo sito Web in FrontPage 2002

Nota Affinché questo codice di esempio funzioni correttamente, è necessario assicurarsi che il nome del sito Web sia LOGON e che sia un sito secondario della radice del sito Web.
  1. Scegliere Nuovo dal menu File, quindi Pagina o Web.
  2. Nel riquadro delle attività fare clic su Modelli sito Web.
  3. Nell'elenco dei modelli fare clic su Web vuoto.
  4. Specificare la posizione del sito Web sul server utilizzando la sintassi seguente:
    http://server/logon/
    dove server rappresenta il nome del server Web che supporta ASP.
  5. Scegliere OK.
Torna all'inizio

Passaggio 3 - Creazione di un database utilizzando Microsoft Access

  1. Avviare Microsoft Access.
  2. Scegliere Nuovo dal menu File.
  3. Nell'elenco di scelte possibili fare clic su Database vuoto.
  4. Assegnare al file il nome logon.mdb e salvarlo sul desktop.
  5. Nella sezione Tabelle fare clic su Nuovo.
  6. Nell'elenco fare clic su Visualizzazione Struttura, quindi scegliere OK.
  7. Creare due campi:
    1. Per Nome campo digitare UID. Per Tipo dati fare clic su Testo, quindi su Chiave primaria.
    2. Per Nome campo digitare PWD. Per Tipo dati fare clic su Testo.
  8. Scegliere Salva dal menu File. Assegnare il nome tblUsers alla tabella e scegliere OK.
  9. Scegliere Visualizzazione Foglio dati dal menu Visualizza.
  10. Nella colonna UID digitare testuser. Nella colonna PWD digitare password.
  11. Scegliere Chiudi dal menu File per chiudere la tabella.
  12. Chiudere Microsoft Access.
Nota Per motivi di protezione le password sono limitate a un misto di lettere maiuscole, lettere minuscole e numeri.

Torna all'inizio

Passaggio 4 - Importazione del database di Microsoft Access

  1. Scegliere Importa dal menu File.
  2. Scegliere Aggiungi file.
  3. Selezionare il desktop nell'elenco Cerca in.
  4. Fare clic sul file logon.mdb creato nel Passaggio 3, quindi fare clic su Apri.
  5. Scegliere Modifica.
  6. Cambiare l'URL in _private/logon.mdb e scegliere OK.
  7. Scegliere OK per importare il file.
  8. Se viene chiesto di aggiungere una connessione al database, fare clic su No.
Torna all'inizio

Passaggio 5 - Creazione delle pagine ASP

Per questo esempio è necessario creare diversi file. Creare innanzitutto una home page per il sito Web, una pagina non protetta e una pagina protetta per i test, quindi la pagina Web di accesso e il file di inclusione di accesso.

Passaggio 5a - Creazione della home page

Questa pagina viene utilizzata come pagina predefinita del sito e include i collegamenti alla pagina non protetta e alla pagina protetta che verranno create più avanti.
  1. Nella barra degli strumenti di FrontPage fare clic su Nuova pagina.
  2. Passare alla visualizzazione HTML ed eliminare tutto il codice HTML esistente.
  3. Digitare o incollare il seguente codice nella pagina:
    <% @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</a></li><li><a href="unsecure.asp">Unsecure Page</a></li></ul></body></html>
  4. Salvare la pagina come default.asp nella cartella radice del sito Web.
  5. Chiudere la pagina scegliendo Chiudi dal menu File.
Torna all'inizio

Passaggio 5b - Creazione di una pagina non protetta

Questa è una pagina ASP di base che chiunque può esplorare.
  1. Nella barra degli strumenti di FrontPage fare clic su Nuova pagina.
  2. Passare alla visualizzazione HTML ed eliminare tutto il codice HTML esistente.
  3. Digitare o incollare il seguente codice nella pagina:
    <% @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></p></body></html>
  4. Salvare la pagina come default.asp nella cartella radice del sito Web.
  5. Chiudere la pagina scegliendo Chiudi dal menu File.
Torna all'inizio

Passaggio 5c - Creazione di una pagina protetta

La pagina in questo passaggio è uguale alla pagina non protetta creata nel Passaggio 5b, salvo il fatto che è necessario aggiungere la seguente riga di codice nella parte superiore della pagina:
<!--#include virtual="/logon/_private/logon.inc"-->
L'aggiunta di questa riga di codice a una pagina Web ASP la rende una pagina Web "protetta".
  1. Nella barra degli strumenti di FrontPage fare clic su Nuova pagina.
  2. Passare alla visualizzazione HTML ed eliminare tutto il codice HTML esistente.
  3. Digitare o incollare il seguente codice nella pagina:
    <% @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></p></body></html>
  4. Salvare la pagina come secure.asp nella cartella radice del sito Web di accesso.
  5. Chiudere la pagina scegliendo Chiudi dal menu File.
Torna all'inizio

Passaggio 5d - Creazione della pagina di accesso

La pagina di accesso è ideata al fine di somigliare a una finestra di dialogo di accesso standard di Windows. Gli utenti che tentano di accedere alla pagina protetta vengono indirizzati a questa pagina per digitarvi il nome utente e la password.
  1. Nella barra degli strumenti di FrontPage fare clic su Nuova pagina.
  2. Passare alla visualizzazione HTML ed eliminare tutto il codice HTML esistente.
  3. Digitare o incollare il seguente codice nella pagina:
    <% @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. Salvare la pagina come logon.asp nella cartella radice del sito Web di accesso.
  5. Chiudere la pagina scegliendo Chiudi dal menu File.
Torna all'inizio

Passaggio 5e - Creazione del file di inclusione di accesso

Questo file di inclusione fornisce la funzionalità per l'immissione del nome utente e della password e viene utilizzato sia dalla pagina protetta che dalla pagina di accesso.
  1. Nella barra degli strumenti di FrontPage fare clic su Nuova pagina.
  2. Passare alla visualizzazione HTML ed eliminare tutto il codice HTML esistente.
  3. Digitare o incollare il seguente codice nella pagina:
    <%  ' 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%>
  4. Salvare la pagina come logon.inc nella cartella _private del sito Web di accesso.
  5. Chiudere la pagina scegliendo Chiudi dal menu File.
Torna all'inizio

Passaggio 6 - Test della pagina Web di accesso

  1. In Elenco cartelle di FrontPage fare clic su default.asp. Nella barra degli strumenti di FrontPage scegliere Visualizza anteprima nel browser.
  2. Nel browser viene caricata la home page di esempio con l'indicazione che non è stato eseguito l'accesso.
  3. Fare clic sul collegamento relativo alla pagina non protetta. La pagina viene caricata con l'indicazione che non è stato eseguito l'accesso. Fare clic sul collegamento per tornare alla pagina predefinita.
  4. Fare clic sul collegamento relativo alla pagina protetta. Viene caricata la pagina di accesso anziché la pagina protetta.
  5. Digitare testuser come nome utente, digitare password come password, quindi scegliere LOGON.
  6. La pagina protetta viene visualizzata con l'indicazione che è stato eseguito l'accesso come testuser. Fare clic sul collegamento per tornare alla pagina predefinita.
  7. La home page di esempio viene caricata con l'indicazione che è stato eseguito l'accesso come testuser.
  8. Fare clic sul collegamento relativo alla pagina non protetta. La pagina viene caricata con l'indicazione che è stato eseguito l'accesso come testuser.
Torna all'inizio

Personalizzazione dell'esempio di accesso

È possibile personalizzare l'esempio di accesso nei modi seguenti:
  • Aggiungere nomi utente e password: è possibile aprire il database facendovi doppio clic in FrontPage, quindi aggiungere gli utenti alla tabella tblUsers.
  • Proteggere le altre pagine Web: per proteggere un'altra pagina Web nel sito Web, è necessario salvare il file con un'estensione ASP, ad esempio mypage.asp, quindi aggiungere le due righe seguenti all'inizio del file:
    <% @language="vbscript" %><!--#include virtual="/logon/_private/logon.inc"-->
    Nella prima riga viene specificato che si utilizza Microsoft Visual Basic Scripting Edition (VBScript) per il linguaggio di scripting, mentre nella seconda riga è inclusa la funzionalità per l'immissione del nome utente e della password del file di inclusione di accesso creato in precedenza.
Torna all'inizio
Riferimenti
Per ulteriori informazioni sull'integrazione di pagine ASP con database e protezione, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
299987 Utilizzo di database e sessioni ASP per implementare la protezione per ASP
300382 Creazione di una connessione di database da una pagina ASP in IIS
Torna all'inizio
front page fpse
Proprietà

ID articolo: 321439 - Ultima revisione: 02/25/2008 18:18:00 - Revisione: 5.2

  • Microsoft FrontPage 2002 Standard Edition
  • kbhowtomaster kbdatabase kbprogramming kbasp KB321439
Feedback