Creazione di un'area di accesso riservato
Introduzione
Sulla scorta del Tip Una semplice area di accesso riservato senza DB vediamo in questo più completo Articolo come implementare un reale servizio di protezione di un'area del nostro Sito. In questo caso utilizzeremo un database, per consentire non più ad un solo utente statico, ma ad una serie di utenti registrati, di usufruire di un servizio.
La pagina di Login: login.asp
La logica dell'Applicazione è praticamente identica a quella seguita nel Tip citato in precedenza, solo che si fa riferimento al database database.mdb ed in particolare alla tabella che chiameremo utenti, la quale avrà una serie di campi a scelta e secondo le esigenze dello sviluppatore, tra cui username e password.
Si crei la pagina login.asp, la quale conterrà sia il modulo che il codice Asp per effettuare la connessione alla propria area privata con proprio account-utente; di seguito il codice:
<%@LANGUAGE = JScript%> <% var azione = new String(Request.QueryString("azione")); %> <html> <head> <title>Login</title> </head> <body> <% if (azione == "OK") { var username = new String(Request.Form("username")); var password = new String(Request.Form("password")); var username2 = username.replace(/'/g,"''"); var password2 = password.replace(/'/g,"''"); var Cn = new ActiveXObject("ADODB.Connection"); Cn.Open("driver={Microsoft Access Driver (*.mdb)}; dbq=" + Server.MapPath("database.mdb")); var Sql = "SELECT * FROM utenti WHERE username = '" + username2 + "' AND password = '" + password2 + "'"; var EseguiLogin = Cn.Execute(Sql); if (EseguiLogin.EOF) { Cn.Close(); Response.Write("ACCESSO NEGATO"); Response.End; } else { Cn.Close(); Session("username") = username; with (Response) { Write("<p align='center'>"); Write("Benvenuto " + username + "!<br><br>"); Write("Clicca <a href='areaprivata.asp'>qui</a> per entrare!"); Write("</p>"); } } } else { %> <p align="center"> <form method="post" action="login.asp?azione=OK"> Username <input type="text" name="username"> Password <input type="password" name="password"> <input type="submit" value="Login"> </form> </p> <% } %> </body> </html>
La logica seguita è molto semplice: implementiamo la variabile di tipo QueryString azione per controllare lo stato dell'Applicazione, ovvero se l'utente ha eseguito la procedura di login o meno, nel cui caso visualizzerà il modulo. In seguito recuperiamo Username e Password dal modulo e le confrontiamo nel database grazie alla Query
SELECT * FROM utenti WHERE
username = '" + username2 + "' AND password = '" + password2 + "'
cercando l'uguaglianza dei capi username e password all'interno dello stesso record. Se l'operazione è andata a buon fine creiamo una sessione a suo nome
Session("username") = username;
altrimenti neghiamo l'accesso.
Le pagine private
Tenendo sempre come riferimento il Tip citato all'inizio dell'Articolo, vediamo come dovranno apparire le pagine private:
<%@LANGUAGE = JScript%>
<%
if (Session("username") == null)
{
Response.Write("ACCESSO NEGATO");
Response.End;
}
else
{
/*
Ci connettiamo al database e, a seconda dell'Applicazione per cui ci serviamo
di un'area di accesso riservato, recuperiamo i dati dell'utente loggato basandoci
sulla sessione che ha generato, ad esempio:
var Sql = "SELECT * FROM una_tabella WHERE
username = '" + Session("username") + "'";
*/
%>
<html>
<head>
<title>Login</title>
</head>
<body>
<p align="center">AREA PRIVATA</p>
</body>
</html>
<%
}
%>
La pagina di Logout: logout.asp
Per effettuare il Logout sarà sufficiente creare un link verso il file logout.asp che conterrà il seguente codice:
<%@LANGUAGE = JScript%> <% Session.Abandon(); Response.Write("<p align="center">ARRIVEDERCI</p>"); %>
Autore: Luca Ruggiero
ASP Base
Corso base sulle Active Server Pages, adatto ai neofiti.Flash MX
Corso sul più famoso programma multimediale disponibile sul mercato.Flash MX e Action Script
Corso di programmazione ActionScript per rendere interattivi i filmati Flash.Visual Basic 6
Imparare a programmare col noto linguaggio di casa Microsoft.MS Access
Il noto database attraverso la sua interfaccia visuale ed il linguaggio SQL.ASP Completo
Corso completo per imparare a fondo l´ASP con l´utilizzo del VBScript.ASP.Net
Realizzazione di applicazioni Web con la nuova tecnologia di casa Microsoft.Linux
Sistema operativo open-source, completamente gratuito e potente.Web Design
Gli aspetti del Webdesign, dalla figura professionale a tutti i strumenti.Webmaster Avanzato
Percorso completo volto a formare dei professionisti del Web.
