103 messaggi dal 14 aprile 2014
Ciao a tutti.

Sto sviluppando un applicazione mvc.

Mi chiedevo se è possibile fare in modo che dopo il login un utente venga costretto a riautenticarsi dopo un certo lasso di tempo, ad esempio un ora.

In sostanza fare in modo che dopo il login L applicazione mvc si attivi automaticamente a scadenza e effettui il logout dell utente.

Grazie

Filippo
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Filippo,
in questo momento che sistema di autenticazione stai usando? ASP.NET Identity? Forms Authentication?
Cioè, come fai a riconoscere gli utenti dopo che si sono loggati?
Modificato da BrightSoul il 27 ottobre 2018 18.41 -

Enjoy learning and just keep making
103 messaggi dal 14 aprile 2014
Ciao.

Uso un metodo molto base.

Leggo user e password e la verifico con una lettura nel database Sql server.

Se corrisponde genero un cookie con L Id utente che scade con la sessione o dopo un certo tempo.

Però se ho capito bene se L utente fa attività il cookie o la sessione non scadono.

Io invece ho bisogno che anche se L utente fa attività a scadenza prefissata (esempio 2 ore) venga buttato fuori.

Grazie

Filippo
Modificato da Filippo.quaranta il 27 ottobre 2018 19.15 -
11.886 messaggi dal 09 febbraio 2002
Contributi

Uso un metodo molto base.
Genero un cookie con l'Id utente

E' un metodo base e anche estremamente insicuro. I contenuti dei cookie possono essere manipolati a piacimento e quindi mi basterebbe modificare l'id contenuto nel cookie per impersonare un altro utente.

Comunque, quando emetti il cookie puoi impostare una scadenza assoluta. Dopo che il cookie è scaduto, il browser non lo reinvierà più all'applicazione, costringendo di fatto l'utente a fare di nuovo il login.

Ecco qua un articolo che ti mostra come impostare la scadenza.
http://www.dotnetfunda.com/articles/show/1405/how-to-set-the-expiration-datetime-for-the-cookies-in-aspnet

In pratica, dopo aver verificato username e password fai:
Response.Cookies["NomeCookie"].Value = "Id dell'utente";
Response.Cookies["NomeCookie"].Expires = DateTime.Now.AddMinutes(20);


ciao,
Moreno
Modificato da BrightSoul il 27 ottobre 2018 20.28 -

Enjoy learning and just keep making
103 messaggi dal 14 aprile 2014
Ciao.

Ti ringrazio per la risposta.

Per quanto riguarda la sicurezza dell Id che può essere manipolato e sostituito L Id che scrivo nel cookie e crittografato e contiene un vettore salt che è una chiave oltre all Id vero e proprio.

Per cui se lo sostituisci quando carico la pagina trovero il vettore di controllo alterato (poiché non puoi conoscerlo se non decrittografando il cookie) e ti... butto fuori.

Grazie

Filippo
11.886 messaggi dal 09 febbraio 2002
Contributi

scrivo nel cookie e crittografato e contiene un vettore salt che è una chiave oltre all Id vero e proprio.

Oh, bene, così dovrebbe essere ok.
Modificato da BrightSoul il 27 ottobre 2018 22.00 -

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.