Domanda Sull'autenticazione

mercoledì 14 gennaio 2009 - 11.52

bolla111 Profilo | Senior Member

io sto creando un sito completamente conposto da pagine protette dove possono accedere solo utenti contenuti in un database (ovviamente tranne la form di login); più precisamente ho assegnato un ruolo ad ogni utente e alle varie pagine possono tuti quelli di grado utente o amministratore (in pratica tutti quelli registrati).
ora però voglio limitare l'accesso ad alcune pagine solo a quelli di grado amministratore.
ho provato usando il tag <location path="formprotetta1"> ecc ecc <7location> nel web.config....ma non va molto bene visto che le pagine che voglio proteggere sono + di 1 e quindi dovrei creare + sezioni <location>
Un'altra soluzione era creare una cartella a parte dove inserire le mie form da proteggere e un nuovo file web.config in questa cartella....ma ho avuto dei problemi...
Qlcn può darmi una dritta?
grazie

rossimarko Profilo | Guru

Ciao,

le due strade che hai intrapreso sono corrette.
Quella della cartella come gestione è più semplice. Una volta creata inserisci all'interno della cartella un nuovo file web.config e come contenuto la definizione dei ruoli di accesso, ad esempio:


<configuration> <system.web> <authorization> <allow roles="Administrator"/> <deny users="*"/> </authorization> </system.web> </configuration>
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

bolla111 Profilo | Senior Member

Si....quello di creare una cartella anche secondo me è la soluzione adatta...ma ne web.config basta che aggiungo quello poche righe che mi hai scritto tu?
Perchè mi da un errore quando cerco di accedere alla pagina protetta:

Impossibile trovare la risorsa.
Descrizione: HTTP 404. La risorsa che si sta cercando (o una delle sue dipendenze) potrebbe essere stata rimossa, rinominata o non essere temporaneamente disponibile. Verificare che l'URL riportato di seguito sia stato digitato correttamente.

URL richiesto: /FormToff.aspx

???

rossimarko Profilo | Guru

Quell'errore non dipende dal web.config. Semplicemente non trova la pagina richiesta, quindi la pagina che stai aprendo non esiste.

Il fatto che l'URL richiesto sia /FormToff.aspx mi fa pensare che stai aprendo la pagina nella root del sito e non nella cartella che hai creato
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

bolla111 Profilo | Senior Member

Quindi cosa dovrei fare?...secondo me centra anche la pagina master in questo problema

rossimarko Profilo | Guru

Controlla dove crei il link per aprire la pagina che ti interessa... Se hai spostato le pagine nella nuova cartella dovrai modificare anche tutti i punti in cui le pagine venivano richiamate e inserire nel path anche il nome della cartella.

Se prima era /Pippo.aspx adesso sarà /CartellaNuova/Pippo.aspx
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

bolla111 Profilo | Senior Member

Ho già provato...ma facendo così mi crea problemi con la pagina master...mi dice che in pratica la pagina master non esiste nella cartella nuova che ho creato...

rossimarko Profilo | Guru

Cerchiamo di fare un attimo il punto..

Tu hai creato la nuova cartella e hai copiato le pagine dentro la nuova cartella giusto?
Da quel momento i vecchi link giustamente non trovano più la pagina (Page not found) e modificando i path la pagina viene richiamata correttamente ma ti restituisce un'errore perchè non trova la master, è corretto?

Come hai specificato il path della master? Hai messo il carattere ~/ nel path?
Se la master è nella root (esempio /MiaMaster.master) il path nelle pagine dovrà essere MasterPageFile="~/MiaMaster.master", in questo modo la master verrà ricercata sempre nella root. Se metti solamente MasterPageFile="MiaMaster.master" il file verrà ricercato nella cartella corrente, e nel caso delle pagine spostate non lo troverà più
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

bolla111 Profilo | Senior Member

certamente...era una min*****a...come ho fatto a non arrivarci? grazie 1000...ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5