26 messaggi dal 08 luglio 2009
Usando i ruoli vorrei autorizzare l'accesso ad alcune pagine inserite in una cartella ,anzichè usando il classico web.config :

<system.web>
<authorization>
<allow roles="Admin" />
</authorization>
</system.web>

utilizzando una tabella di un db di sql server.

per far questo pensavo di scrivere un http module personalizzato partendo dal codice della classe classe UrlAuthorizationModule che ho esaminato con la reflection

C'e qualcuno che ha avuto qualche esperienza simile è può darmi qualche maggiore indicazione?
Grazie
spilby wrote:
C'e qualcuno che ha avuto qualche esperienza simile è può darmi qualche maggiore indicazione?

la strada che hai visto è giusta: HttpModule e decidi cosa fare. se l'utente non è autorizzato, nell'AuthorizeRequest dai un errore HTTP 401.2, così ASP.NET capirà che non hai i permessi e ti manderà alla pagina di errore.
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
26 messaggi dal 08 luglio 2009
perdona la mia incomprensione, puoi farmi un esempio con due righe di codice?
grazie
spilby wrote:
perdona la mia incomprensione, puoi farmi un esempio con due righe di codice?

se non è autorizzato, scrivi:
HttpContext.current.Response.Status = "401.2 Not authorized"; .

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
26 messaggi dal 08 luglio 2009
Grazie per la risposta anche se ti segnalo che con la riga di codice che hai postato mi da errore di stringa di stato HTTP non valida (compilazione all'interno di VS2010 con Cassini), mentre funziona cona la così:
HttpApplication app= (HttpApplication)sender;
app.response.StatusCode=401;

Mi rimanda correttamente alla pagina di login (loginurl impostato nella sezione authentication di web.config) ma non mi carica il relativo css.

Qualche suggerimento?
grazie
spilby wrote:
Grazie per la risposta anche se ti segnalo che con la riga di codice che hai postato mi da errore di stringa di stato HTTP non valida (compilazione all'interno di VS2010 con Cassini), mentre funziona cona la così: HttpApplication app= (HttpApplication)sender;
app.response.StatusCode=401;

sono andato a memoria, ma in effetti bastava 401 (senza .2)

Mi rimanda correttamente alla pagina di login (loginurl impostato nella sezione authentication di web.config) ma non mi carica il relativo css. Qualche suggerimento?

lo dico a beneficio di tutti, dato che non l'hai fatto tu: va sprotetto l'accesso al CSS dal web.config.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.