19 messaggi dal 01 settembre 2006
Buon giorno,
abbiamo realizzato un sito in Asp.net con visual studio 2013 con autenticazione basata su Identity.
In modo random, il login apparrentemente va a buon fine, ma in relatà veniamo reindirizzati sulla home ed il login non viene effettutato.
Non si genera problemi, e dopo un attesa non sempre costante il login viene effettuato.
E' possibile che possa dipendere dal numero di utenti connessi ?
Esiste un numero massi di utenti online ?

Grazie
Luca
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Luca,

elettrodigital ha scritto:

E' possibile che possa dipendere dal numero di utenti connessi ?
Esiste un numero massi di utenti online ?

No, non c'è un numero ma questo mi fa venire in mente un'altra questione: per caso la tua applicazione gira su più webservers oppure è in modalità web garden (ovvero gira su più processi contemporaneamente)? Se sì, il cookie emesso da uno dei webserver non sarà decifrabile dagli altri, a meno che le "machine keys" di IIS non siano condivise tra tutti i webservers.

Quindi prova a generare le machine keys, così da renderle statiche. Vedi se migliora.
https://technet.microsoft.com/en-us/library/cc731979(v=ws.10).aspx


ciao,
Moreno

Enjoy learning and just keep making
19 messaggi dal 01 settembre 2006
Ciao,

la mia applicazione gira su un unico server IIS8, ho impostato per questa applicazione la creazione statica delle chiavi e vediamo se il problema si ripresenta.
Nel caso il problema non si ripresentasse, come posso fare per avere la creazione dinamica delle chiavi, per aver una maggior sicurezza ?

Grazie
Luca
19 messaggi dal 01 settembre 2006
Il problema si ripresenta, anche con la modifica suggerita.
E' sufficiente riavviare l'app da IIS per far funzionare il tutto.

Suggerimenti ?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
quando dici:

elettrodigital ha scritto:

ma in relatà veniamo reindirizzati sulla home ed il login non viene effettutato.

Vuoi dire che l'utente risulta ancora anonimo? Il cookie di autenticazione è stato emesso? Lo puoi verificare dagli strumenti di sviluppo del browser (es. se usi chrome ha un apposito pannello per verificarlo).

Oppure, è possibile che l'istruzione in cui il SignInManager verifica le credenziali venga in qualche modo bypassata da altro codice? Oppure che tu stia attuando del caching aggressivo e perciò viene restituito un risultato senza che il codice lato server vada in esecuzione? (<- quest'ultima però è strana perché l'OutputCache non funziona con le POST).

Dovresti produrre una riga di log subito dopo che il SignInManager viene chiamato per loggare il suo result e la data/ora in cui è stato chiamato.
Quando si verifica il problema, vai a vedere se la riga di log è stata prodotta, e qual era il risultato del SignInManager.

ciao,
Moreno

Enjoy learning and just keep making
19 messaggi dal 01 settembre 2006
Ho creato un file di log e anche quando non viene effettuato il login l'autenticazione viene eseguita (SignInStatus.Success).
Controllando con gli strumenti di sviluppo quando non effettua il login nella barra di sviluppo viene mostrata per meno di un secondo l'errore impossibile aprire la pagina..../login.
Mi puoi suggerire altri test per capire il problema.
Se faccio girare l'applicazione da visual studio non riesco a replicare l'errore, funziona sempre correttamente.
19 messaggi dal 01 settembre 2006
Dopo una lunga ed estenuante battaglia ho risolto il problema.
Per risolverlo ho aggiunto prima del signInManager, in particolare nella Sub Page_load:
Session("DummySession")="DummySession"
.
11.886 messaggi dal 09 febbraio 2002
Contributi
wow, è curioso. Sei riuscito a capire come mai il problema è stato risolto da quell'istruzione?

Enjoy learning and just keep making

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.