ASP: autenticazione tramite password

info_tec

Nuovo Utente
27 Lug 2004
2
0
0
Ho realizzato un sito che prevede l'accesso tramite autenticazione mediante l'inserimento di una username ed una password.
Per realizzare il codice ASP delle pagine che si occupano dell'autenticazione ho utilizzato Dreamweaver, che mi ha generato automaticamente il seguente codice:


<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!--#include file="mioDatabase.asp" -->
<%
// *** Validate request to log in to this site.
var MM_LoginAction = Request.ServerVariables("URL");
if (Request.QueryString!="") MM_LoginAction += "?" + Request.QueryString;
var MM_valUsername=String(Request.Form("nome"));
if (MM_valUsername != "undefined") {
var MM_fldUserAuthorization="LivelloUtente";
var MM_redirectLoginSuccess="../html/asa.htm";
var MM_redirectLoginFailed="erroreitalianostart.asp";
var MM_flag="ADODB.Recordset";
var MM_rsUser = Server.CreateObject(MM_flag);
MM_rsUser.ActiveConnection = MM_mioDatabase_STRING;
MM_rsUser.Source = "SELECT UserNameUtente, PasswordUtente";
if (MM_fldUserAuthorization != "") MM_rsUser.Source += "," + MM_fldUserAuthorization;
MM_rsUser.Source += " FROM Utente WHERE UserNameUtente='" + MM_valUsername.replace(/'/g, "''") + "' AND PasswordUtente='" + String(Request.Form("password")).replace(/'/g, "''") + "'";
MM_rsUser.CursorType = 0;
MM_rsUser.CursorLocation = 2;
MM_rsUser.LockType = 3;
MM_rsUser.Open();
if (!MM_rsUser.EOF || !MM_rsUser.BOF) {
// username and password match - this is a valid user
Session("MM_Username") = MM_valUsername;
if (MM_fldUserAuthorization != "") {
Session("MM_UserAuthorization") = String(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value);
} else {
Session("MM_UserAuthorization") = "";
}
if (String(Request.QueryString("accessdenied")) != "undefined" && false) {
MM_redirectLoginSuccess = Request.QueryString("accessdenied");
}
MM_rsUser.Close();
Response.Redirect(MM_redirectLoginSuccess);
}
MM_rsUser.Close();
Response.Redirect(MM_redirectLoginFailed);
}
%>


Questo invece è il codice che Dreamweaver mi ha inserito nelle pagine che desidero proteggere:


<%@LANGUAGE="JAVASCRIPT"%>
<%
// *** Restrict Access To Page: Grant or deny access to this page
var MM_authorizedUsers="cliente,tecnico,admin";
var MM_authFailedURL="../../../asp/erroreitaliano.asp";
var MM_grantAccess=false;
if (String(Session("MM_Username")) != "undefined") {
if (false || (String(Session("MM_UserAuthorization"))=="") || (MM_authorizedUsers.indexOf(String(Session("MM_UserAuthorization"))) >=0)) {
MM_grantAccess = true;
}
}
if (!MM_grantAccess) {
var MM_qsChar = "?";
if (MM_authFailedURL.indexOf("?") >= 0) MM_qsChar = "&";
var MM_referrer = Request.ServerVariables("URL");
if (String(Request.QueryString()).length > 0) MM_referrer = MM_referrer + "?" + String(Request.QueryString());
MM_authFailedURL = MM_authFailedURL + MM_qsChar + "accessdenied=" + Server.URLEncode(MM_referrer);
Response.Redirect(MM_authFailedURL);
}
%>


Vorrei modificare il codice ASP in modo da verificare 3 variabili invece delle attuali 2 (username e password).

Chi mi aiuta?

Un saluto :byebye:
 
Puoi usare i livelli di autorizzazione per la terza variabile. Sono gestiti da Dreamweaver.
Ciao
 
Come dice Covi, dalla finestra per aggiungere una autenticazione Utente, puoi scegliere un terzo livello, di solito usato in diverse aree del sito!
Es. ci possono essere pagine accessibili solo agli Amministratori, e pagine solo per gli utenti semplici!
STAI ATTENTO!
Per il funzionamento del sistema, come terzo parametro ti sarà chiesto il valore di un campo del database, che dovrai scegliere!
Es. Nel campo "privilegi" del database, potrai mettere "semplice", oppure "admin"!
Questi valori, cioè "semplice" o "admin", li dovrai specificare nella pagina con restrizioni, nell'apposita finestra, in modo da restringere la pagina per NomeUtente, Password e livello di accesso, che ripeto è IL VALORE CONTENUTO NEL CAMPO "PRIVILEGI".
Buon Lavoro. Se hgai problemi, contattami pure per E-mail!

postmaster@daviduccio.it

Daviduccio - daviduccio.it
 

Discussioni simili