Web.config specifico per una sottodirectory

mercoledì 12 marzo 2008 - 17.06

dipy Profilo | Junior Member

Ciao a tutti!
Ho bisogno di implementare l' autentication=Forms che sia relativa solo ad una certa area del mio applicativo.
Mi è stato consigliato di creare un web.config all' interno della sottodirectory che deve essere wrappata dall' autenticazione.

Il problema è che quando provo a fare il buid dell' applicativo mi compare l' errore:

Non è possibile utilizzare una sezione registrata come allowDefinition='MachineToApplication' al di sotto del livello di applicazione.

Qualcuno sa darmi qualche spiegazione?

amelix Profilo | Expert

Mi aggiungo alla richiesta di aiuto.
Andrea - http://www.MelisWeb.eu/
CMS - http://www.WebOrama.it/

freeteo Profilo | Guru

ciao,
ti puo' andare bene una soluzione come questa?:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=21733

dove si usa la protezione di Asp.net per l'autenticazione Forms, diversa per directory diverse, il tutto nel web.config...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

dipy Profilo | Junior Member

Grazie mille funziona!!
I LOVE YOU !! :-)

amelix Profilo | Expert

Riassumendo.
La protezione va messa nel web.config nella root dell'applicazione e non nelle sue sottocartelle.

Non mi piace... ma era la soluzione che avevo sempre usato anche io... peccato!
Andrea - http://www.MelisWeb.eu/
CMS - http://www.WebOrama.it/

freeteo Profilo | Guru

x amelix:
si puoi metterla nella root e poi lavorare con le location, oppure puoi mettere nella sottodir un file web.config che contiene solo la parte di autorizzazioni:

WEB.CONFIG DENTRO ALLA SOTTODIR:
<?xml version="1.0"?> <configuration> <system.web> <authorization> <deny users="?"/> <allow users="*"/> </authorization> </system.web> </configuration>


mentre nella root devi cmq mettere l'autenticazione Forms, perche' se metti tutto nella sottodir, non essendo mappata in IIS come directory di applicazione non puoi cambiare l'autenticazione....il punto quindi da mettere nel web.config della root è cmq il tipo di autorizzazione che usa il sito, poi nella dir tramite altro file web.confi gli dici che quelli abilitati sono particolari per quella dir.

WEB.CONFIG ROOT:
... <authentication mode="Forms"> <forms name="sito" protection="All" loginUrl="~/login.aspx"> </forms> </authentication> ... senza location ...



ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

amelix Profilo | Expert

Ma, se non ricordo male, mi andava in errore...
Cmq è passato un po' di tempo... e sono diventato un po' + furbo... adesso riprovo.

Andrea - http://www.MelisWeb.eu/
CMS - http://www.WebOrama.it/
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5