126 messaggi dal 05 agosto 2013
Premesso che qualche giorno fa aprii un post simile in merito al comportamento anomalo in fase di accesso ad un sito,
ora ho nuovi elementi che vorrei sottoporvi per capire che soluzione adottare.
Dunque:
per accedere al sito ho usato il pacchetto IDENTITY proposto da asp.net (quello che con Visual Studio viene proposto di default in caso di Webapp).
Tutto sembra funzionare: gli utenti si loggano e sfruttano le funzioni dell'app.
Ad un certo punto, improvvisamente (il fattore scatenante non riesco ad individuarlo) la fase di login non funziona più: gli utenti tentano di accedere al sito, inseriscono le loro credenziali ma il sistema non ne tiene conto e ripropone "ACCEDI", piuttosto che visualizzare la username dell'utente e il bottone "DISCONNETTI"). Questo da quanto ho potuto osservare succede quando un utente tenta di confermare l'email specificata in fase di registrazione, cliccando sul link che gli arriva via posta elettronica.
Per ripristinare il tutto ho due modalità:
1) aspettare che il sito torni ad essere operativo (senza fare assolutamente nulla)
2) cancellare dall'host tutto e fare nuovamente l'upload di tutta la soluzione (senza modificare nulla nelle varie pagine aspx o aspx.vb).
Per incanto il sito torna a far loggare correttamente.

Non riesco ad individuare la causa di questo anomalo comportamento.
Avete qualche idea per eliminare questo inconveniente?
Modificato da f.amedeo il 27 marzo 2019 18:14 -
11.724 messaggi dal 09 febbraio 2002
Contributi

Avete qualche idea per eliminare questo inconveniente?

No, però osservando le richieste e le risposte che il client e il server si scambiano potrebbero saltar fuori degli indizi.

Nel momento in cui ti si verifica il problema, apri Firefox e premi F12 per accedere agli strumenti di sviluppo del browser. Vai nella scheda "Rete" e poi visita la pagina di login del tuo sito. Nel riquadro cominceranno ad apparire delle richieste. A questo punto prova a fare il login. Se ti si verifica il problema che hai descritto, benissimo perché puoi salvare tutte le richieste cliccando "HAR" > "Salva tutto come HAR". Lo vedi in questa immagine.

Il file HAR che ti sei salvato condividilo su Google Drive, One Drive o altro spazio che preferisci tu.

ATTENZIONE! Nel file HAR si vedranno tutte le richieste, comprensive del tuo nome a dominio e dello username e password che hai inserito durante il login. Quindi, se riesci a riprodurre il problema dal tuo PC di sviluppo e usando un utente di test con username "pippo" e password "puppo", è meglio.

Se non posso vedere le richieste rischiamo di andare avanti a tentantivi e non risolvere mai il problema. Comunque buttaci un'occhio anche tu prima il condividere l'HAR, magari la causa ti risulta evidente.
ciao,
Moreno
Modificato da BrightSoul il 27 marzo 2019 22:07 -

Enjoy learning and just keep making
126 messaggi dal 05 agosto 2013
ecco il link con il file creato secondo le tue indicazioni.

https://drive.google.com/open?id=13-2RNUCmHD2tczyC173wHX_mvk39pFOF
11.724 messaggi dal 09 febbraio 2002
Contributi
Ok grazie mille. Vedo che:
  • Quando si clicca il bottone Accedi, lo username e la password vengono inviati correttamente al server <- OK
  • Il server non emette alcun cookie di autenticazione <- Questo è un problema
  • Il server reindirizza l'utente all'homepage. <- OK


Dovresti mostrare il codice che viene eseguito al click del bottone Accedi. Cerchiamo di capire come mai non viene emesso il cookie di autenticazione, nonostante poi la ridirezione si verifichi.

ciao,
Moreno

Enjoy learning and just keep making
126 messaggi dal 05 agosto 2013
ho utilizzato di sana pianta tutto il pacchetto di aspnet identity.
Modificato da f.amedeo il 30 marzo 2019 16:50 -
Protected Sub LogIn(sender As Object, e As EventArgs)
        If IsValid Then
            ' Convalidare la password utente
            Dim manager = Context.GetOwinContext().GetUserManager(Of ApplicationUserManager)()
            Dim signinManager = Context.GetOwinContext().GetUserManager(Of ApplicationSignInManager)()

            ' Questa opzione non calcola il numero di tentativi di accesso non riusciti per il blocco dell'account
            ' Per abilitare il conteggio degli errori di password per attivare il blocco, impostare shouldLockout: = True
            Dim result = signinManager.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout := False)

            Select Case result
                Case SignInStatus.Success
                    IdentityHelper.RedirectToReturnUrl(Request.QueryString("ReturnUrl"), Response)
                    Exit Select
                Case SignInStatus.LockedOut
                    Response.Redirect("/Account/Lockout")
                    Exit Select
                Case SignInStatus.RequiresVerification
                    Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn?ReturnUrl={0}&RememberMe={1}",
                                                    Request.QueryString("ReturnUrl"),
                                                    RememberMe.Checked),
                                      True)
                    Exit Select
                Case Else
                    FailureText.Text = "Tentativo di accesso non valido"
                    ErrorMessage.Visible = True
                    Exit Select
            End Select
        End If
    End Sub

Modificato da f.amedeo il 30 marzo 2019 16:55 -

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.