Newsgroup: it.comp.www.asp
Titolo: Limitare l'accesso a pagina ASP.

come posso limitare l'accesso ad una pagina ASP in modo che all'apertura
della stessa si venga reidirizzati ad una pagina con indicazione che
l'accesso è consentito solo ad utenti registrati???????

Invece di far altro di maggiormente interessante per l'umanita' tutta,
**Wladmir**, ha avuto la malaugurata idea di scrivere...

Parlando di *ASP Classic* (e _non_ 
ASP.NET
) io uso questo:
<%
' *** Accesso alla Pagina: Permetti o Nega l'accesso alla pagina che include
questo script
%>
<%
Livello_Autorizzazione_Utente="Administrator,AuthUser" 'Stabilisce chi è
autorizzato all'accesso alla pagina: le credenziali sono separate da una
virgola
Reindirizza_A_Se_Denied="/indexpubb.asp" 'Se l'accesso è effettuato da un
User non autenticato, reindirizza a...
Accesso_Consentito=false 'Di default l'accesso libero è negato
' INIZIO Controllo su Nome_Utente e Livello_Autorizzazione_Utente
If Session("Nome_Utente") <> "" Then
  If (false Or CStr(Session("Autorizzazione_Utente"))="") Or
(InStr(1,Livello_Autorizzazione_Utente,Session("Autorizzazione_Utente"))>=1)
Then
    Accesso_Consentito = true
  End If
End If
' ACCESSO CONSENTITO: la pagina viene visualizzata
' FINE Controllo su Nome_Utente e Livello_Autorizzazione_Utente
' ACCESSO NON CONSENTITO: la pagina non viene visualizzata
' INIZIO controllo per reindirizzamento a Link scelto per
Accesso_Consentito=False
If Not Accesso_Consentito Then
  Carattere_Query = "?"
  If (InStr(1,Reindirizza_A_Se_Denied,"?") >= 1) Then Carattere_Query = "&"
  Pagina_di_Provenienza = Request.ServerVariables("URL")
  if (Len(Request.QueryString()) > 0) Then Pagina_di_Provenienza =
Pagina_di_Provenienza & "?" & Request.QueryString()
  Reindirizza_A_Se_Denied = Reindirizza_A_Se_Denied & Carattere_Query &
"accesso_negato=" & Server.URLEncode(Pagina_di_Provenienza)
  Response.Redirect(Reindirizza_A_Se_Denied)
End If
' FINE controllo per reindirizzamento a Link scelto per
Accesso_Consentito=False
%>
Ovviamente ti serve una pagina di Login che contenga una Form con i campi
Nome_Utente e Password_Utente oltre che un database dove è associato un
field Autorizzazione_Utente a Nome_Utente.
Lo script viene salvato (ad esempio nella directory
"/resources/inc/start/restrict/")  in un file chiamato (ad esempio)
"restrizione_accesso.inc" e richiamato in ogni pagina che ti interessa con
il semplice comando "<!--#include
virtual="/resources/inc/start/restrict/restrizione_accesso.inc" -->
-- 
Theò
Inizio Langhe/Roero 345 m s.l.m.
30 Km da SE Torino, W Asti, NW Alba(CN)

 l'accesso è consentito solo ad utenti registrati???????
Usa una variabile di sessione, se e' false fai un redirect ad una pagina
dove c'e' il form di login (che settera' a true la variabile dopo aver
controllato la PW)
Saluti.
Luciano

 Livello_Autorizzazione_Utente="Administrator,AuthUser" 'Stabilisce chi è
[cut]
Qui usi uno scriptone che, in realtà, non vedo quale scopo abbia.
Quantomeno, a lui basta inizializzare una var di Sessione, e poi nelle 
pagine verificare se c'è, con un banalissimo IF, se non c'è fare un 
redirect...
------------------------------------------------
Meglio dire a tua madre che fai il pianista 
in un bordello, piuttosto che il webmaster.
------------------------------------------------


Molto semplice: controllo più fine che una semplice session con if.


 Molto semplice: controllo più fine che una semplice session con if.
Sì.... però prova a riprendere il post di Wladimir, leggendo le righe e 
tra le righe.
Se devo insegnare a mio figlio ad allacciarsi le scarpe, non ha senso 
partire con un esempio di nodo "alla marinara intrecciato triplo 
carpiato".
No?


 Molto semplice: controllo più fine che una semplice session con if.
Più fine? Bah, a mio modo di vedere si tratta di una complicazione del tutto
inutile.

 del tutto inutile.
Potrebbe essere inutile se non usi un accesso a piů livelli di
autorizzazione; e soprattutto se questi livelli di autorizzazioni non
vengono letti da un database in cui vengono associati Username, Password e
Autorizzazione.
-- 
Theň
