61 messaggi dal 19 aprile 2001
H creato un sito con autenticazione basata su form e senza cookie.
Mi sono accorta che se, dopo essermi autenticata, utilizzo la stessa finestra del browser per navigare in altri siti e poi richiamo quello di partenza, rimango ancora autenticata (utilizzo FormsAuthentication.RedirectFromLoginPage(...)).... a metà, in pratica viene modificato il codice presente nell'url, sembra riconosce l'utente come autenticato ma poi non funziona più nulla.
Vorrei sapere se è possibile forzare l'autenticazione ogni volta che si esce dal sito per entrare in un altro sito all'interno della stessa finestra del browser.
grazie 1000000000000
Petta, stai facendo confusione. L'autenticazione form senza cookie, non esiste, almeno nelle versione 1.0, 1.1.
Quella che stai dicendo tu è il cookieless per la session. Cosa per autenticare? Session o, come sarebbe meglio, la classe FormsAuthentication ?

Ciao

Il mio blog
Homepage
61 messaggi dal 19 aprile 2001
ah, ok Ho fatto così: nel web.config ho inserito questo
<authentication mode="Forms">
<forms loginUrl="pag_di_login.aspx" name = "id" />
</authentication>
<authorization>
<deny users="?"/>
</authorization>

invece nella pag_di_login.aspx ho inserito la quesry di controllo e se supera la verifica:
FormsAuthentication.RedirectFromLoginPage(identificativo, false);

per riconoscere l'utente nelle pagine utlizzo:Context.User.Identity.Name

(ho anche utilizzato alcune variabili di sessione per memorizzare delle varibili che però non servono all'autenticazione..... )
ho sbagliato qualcosa?
grazie
ciao
No, è tutto giusto. Non guardare l'url, perchè quello è usato per la sessione, non per l'autenticazione. Come fa ad essere autenticato per metà? User.Identity.Name è valorizzato nel modo giusto?
L'autenticazione lui la recupera tramite cookie, anche se cambi sito.

Ciao

Il mio blog
Homepage
61 messaggi dal 19 aprile 2001
ho fatto una prova e il probelma mi è più chiaro:
in pratica andando in giro per i siti e poi tornando il quelli di partenza viene ritrovata la Context.User.Identity.Name ma vengono perse tutte le variabili di sessione, quindi le query che filtrano per Context.User.Identity.Name funzionano, quelle che si appoggiano sulle varibili session non funzionano +.

forse è per la storia dei cookieless.
per risolvere il problema vorrei forzare l'autenticazione quando vengono perse le variabili di sessione (session_end?), ma non so come farlo
grazie 80000
ciao
Nella pagina verifica la presenza della Session di una certa chiave. Se non c'è fai il Signout così ti costringe a rifare logon.
if (Session["miakiave"] == null)
FormsAuthentication.SignOut();

Oppure disattiva il cookieless, che in questo caso non serve. Se un utente non ha abilitato i cookie non potrà fare mai login e di conseguenza neanche usare i filtri, almeno

Ciao

Il mio blog
Homepage
61 messaggi dal 19 aprile 2001
 grazie infinite!
ora mi è tutto + chiaro!
per adesso porrò cookieless="false".
ciao erika

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.