7 messaggi dal 06 settembre 2002
Ho trovato questo articolo molto esauriente, e soprattutto molto utile!
Ma... quando sarà disponibile il prossimo, in cui si dovrebbe parlare del collegamento con un database oppure un file XML?
Modificato da pandolf il 23 gennaio 2003 12.49 -
probabilmente entro un mese circa.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
26 messaggi dal 02 luglio 2002
ho realizzato una piccola applicazione come studio di ASP.NET ed ho utilizzato una autenticazione basata su form. Il mio testo di studio mi indicava di definire la cartella di lavoro come una applicazione IIS. Così facendo il tutto funziona sul mio pc.
Se invio via FTP la mia applicazione sel server del mio provider mi da il seguente errore:

Errore server nell'applicazione '/'.
--------------------------------------------------------------------------------
Errore di runtime
Descrizione: Errore di un'applicazione sul server. Per motivi di sicurezza, le attuali impostazioni personalizzate relative agli errori dell'applicazione impediscono di visualizzare in modalità remota ulteriori dettagli sull'errore riscontrato. Tali dettagli possono essere tuttavia visualizzati nei browser eseguiti localmente sul server.

Dettagli: Per attivare la visualizzazione dei dettagli di questo messaggio di errore specifico sul server remoto, creare un tag <customErrors> in un file di configurazione "web.config" memorizzato nella directory principale dell'applicazione Web corrente. L'attributo "mode" del tag <customErrors> deve essere impostato su "Off".

<!-- File di configurazione Web.Config -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>


Note: È possibile personalizzare la pagina di errore corrente modificando l'attributo "defaultRedirect" del tag di configurazione <customErrors> dell'applicazione in modo che punti all'URL di una pagina di errore personalizzata.


<!-- File di configurazione Web.Config -->

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>

Sicuramente questo errore è dovuto al fatto che sul server del provider non ho potuto definire la cartella come applicazione IIS, ma come devo fare?
Grazie
7 messaggi dal 06 settembre 2002
Innanzi tutto prova a fare come dice la pagina dell'errore, cioè a inserire nel web.config un tag customerrors.
Questo tag specifica come devono essere visualizzati gli errori, ed impostandolo su off puoi visualizzare i dettagli dell'errore anche da un server remoto (su un server di produzione non è conveniente avere questa impostazione in quanto gli utenti potrebbero visualizzare il codice che ha generato l'errore, ma in questo caso è l'unica cosa da fare).
Impostando questo parametro quindi non correggi l'errore, ma permetti ad asp.net di visualizzare le informazioni dettagliate dell'errore, così puoi capire cosa c'è che non va.
Eventualmente, se hai ancora dei problemi, posta pure qui sul forum il nuovo messaggio.
Solo una cosa (lo dico perchè mi è capitato): per utilizzare la forms authentication devi inserire il tag ed i relativi parametri nel web.config della root del sito, non puoi metterlo per esempio in una sottocartella. naturalmente poi nel web.config di ogni sottocartelal puoi specificare se utilizzare o no la protezione con i tag ALLOW e DENY descritti nell'articolo, però per esempio non puoi utilizzare due protezioni form diverse per due cartelle diverse (con 2 pagine di login separate).

Spero di esserti stato d'aiuto.
Ciao
Luca
26 messaggi dal 02 luglio 2002
il mio file di configurazione Web.Configil contiene già
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>

Volevo evidenziare che se lavoro sul mio Pc come PWS, il tutto funziona se definisco la cartella di lavoro come una applicazione IIS. Diversamente mi ritorna questo errore:
Errore server nell'applicazione '/'.
--------------------------------------------------------------------------------
Errore di configurazione.
Descrizione: Si è verificato un errore durante l'elaborazione di un file di configurazione necessario per soddisfare la richiesta. Verificare i dettagli dell'errore specifico riportati di seguito e modificare il file di configurazione in modo appropriato.

Messaggio di errore del parser: Non è possibile utilizzare una sezione registrata come allowDefinition='MachineToApplication' al di sotto del livello di applicazione. L'errore può essere dovuto alla presenza di una directory virtuale non configurata come applicazione in IIS.

Errore nel codice sorgente:
Riga 3: <customErrors mode="Off"/>
Riga 4: <compilation debug="true"/>
Riga 5: <authentication mode="Forms">
Riga 6: <forms loginUrl="login.aspx" name=".AUTHCH13" protection="All" timeout="15"/>
Riga 7: </authentication>

File sorgente: c:\inetpub\wwwroot\MieiASP\Annunci\web.config Riga: 5
--------------------------------------------------------------------------------
Informazioni di versione: Versione di Microsoft .NET Framework:1.0.3705.288; Versione di ASP.NET:1.0.3705.288

Grazie
7 messaggi dal 06 settembre 2002
Riassumendo:

Errore nel codice sorgente:
Riga 3: <customErrors mode="Off"/>
Riga 4: <compilation debug="true"/>
Riga 5: <authentication mode="Forms">
Riga 6: <forms loginUrl="login.aspx" name=".AUTHCH13" protection="All" timeout="15"/>
Riga 7: </authentication>

File sorgente: c:\inetpub\wwwroot\MieiASP\Annunci\web.config Riga: 5


A quanto pare succede proprio quello che dicevo nel post precedente.
A quale cartella punta la root del sito su IIS?
Se la root folder è c:\inetpub\wwwroot, come credo, allora devi spostare i tag authentication nel web.config che si trova nella root folder.
Come ti dicevo, il problema è che le impostazioni di autenticazione possono essere impostate solamente nella root, e quindi ogni applicazione utilizza una sola pagina di login. Naturalmente puoi, anzi devi, specificare quale cartella vuoi proteggere e quale cartella invece è sempre disponibile, specificando i tag ALLOW e DENY nei web.config situati nelle singole sottocartelle (e anche nella root)
Modificato da pandolf il 13 ottobre 2003 17.05 -
26 messaggi dal 02 luglio 2002
Se ho capito bene, se questo è il mio file Web.Config
<configuration>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
<authentication mode="Forms">
<forms loginUrl="login.aspx" name=".AUTHCH13" protection="All" timeout="15"/>
</authentication>
<authorization>
<allow users="*,?"/>
</authorization>
</system.web>
<location path="reg">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration>

Dovrei creare un altro Web.Config nella root folder c:\inetpub\wwwroot cosi fatto:
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl="MieiASP/Annunci/login.aspx" name=".AUTHCH13" protection="All" timeout="15"/>
</authentication>
<authorization>
<allow users="*,?"/>
</authorization>
</system.web>
</configuration>

Infine il file Web.Config nella cartella Annunci diventerà:
<configuration>
<location path="reg">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration>

Va bene così?
Grazie

7 messaggi dal 06 settembre 2002
a occhio e croce dovrebbe andare bene, fai una prova e poi fammi sapere
l'unica cosa che non so è se è possibile utilizzare il tag location in una sottocartella.

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.