In un'applicazione Web ASP.NET, utilizzando l'autenticazione integrata di Windows, la sessione è legata all'identità di Windows?
In altre parole, se effettuo l'accesso (utilizzando IWA) all'app e l'app memorizza alcune "cose" nella mia sessione, questa è accessibile solo dall'ID di sessione? Ad esempio, se un utente malintenzionato è riuscito a rubare il mio ID di sessione, ma NON le mie credenziali, può accedere alla mia sessione? Oppure questa sessione è accessibile solo alla stessa identità, richiedendo sia l'ID di sessione E l'identità di Windows per accedervi?Gestione sessione con autenticazione di Windows
risposta
Ottima domanda. Ho appena eseguito un test per confermare prima di scrivere questa risposta.
Se io sono 'persona A', e tu sei 'persona B', allora questo è ciò che deve accadere:
- persona A accede al sito web utilizzando IWA, viene assegnato un ID di sessione (per esempio, l'URL)
- persona B registra anche per il sito web come se stessi (quindi devono essere autenticate)
- persona a invia persona B un link URL che contiene un identificatore di sessione
- click persona B su quel link, vengono portati direttamente nel sito web, usando i dettagli della sessione di Persona A
Si noti che la Persona B è ancora riconosciuta come "Persona B" dal sito Web, anche se stanno utilizzando i dettagli della sessione di Persona A. Quindi se hai un codice che controlla le autorizzazioni degli utenti ecc., Allora questi controlli sono ancora fatti nel contesto della Persona B.
Questo potrebbe sembrare un grosso problema, ma non è così lungo come i programmatori non sono trascurati . Ad esempio, l'unico effetto che Person B ha avuto nel mio test sopra è che hanno ereditato lo schermo e il layout della griglia che la Persona A aveva impostato, perché eseguiamo i nostri controlli delle autorizzazioni in tempo reale (cioè non sono memorizzati nella cache). Se memorizzi dati sensibili nella sessione, potrebbe essere un problema, ma è solo un problema se i campi che lo mostrano non sono controllati dall'autorizzazione ogni volta che vengono mostrati. È anche solo un problema se la sessione per Persona A non è scaduta.
- 1. Gestione della sessione con Firebase?
- 2. JMeter con autenticazione di Windows?
- 3. User.Identity.Name con autenticazione Windows
- 4. Gestione della sessione di Squeryl con 'using'
- 5. Autenticazione moduli Forming con autenticazione Windows
- 6. Fissazione sessione - Autenticazione modulo
- 7. Yii gestione della sessione
- 8. Utilizzo di Fiddler con autenticazione di Windows
- 9. MultipeerConnectivity Gestione sessione
- 10. MVC con JQuery: gestione sessione scaduta
- 11. hibernate gestione sessione con caricamento lazy
- 12. Gestione sottodominio cross cookie per sessione?
- 13. Autenticazione di Windows con ASP.NET MVC
- 14. Ruoli disponibili con autenticazione di Windows
- 15. Autenticazione di Windows con Python e urllib2
- 16. Autenticazione di Windows con Ruby on Rails
- 17. Autenticazione di Windows con nucleo asp.net
- 18. Servizio Windows con strumento di gestione WPF
- 19. Inizio sessione e filtro azione per sessione Gestione timeout
- 20. Gestione di sessione di base con WebAPI e RavenDB
- 21. Autenticazione di bypass di Windows
- 22. NancyFx e autenticazione di Windows
- 23. Emacs sessione/progetti/finestra di gestione
- 24. Gestione cookie di sessione in Android Volley
- 25. Autenticazione file eseguibile di Windows
- 26. Gestione sessione in Rails (2.3)
- 27. Elevazione dei privilegi in un'applicazione Web MVC3 con autenticazione Windows
- 28. Autenticazione Windows manuale
- 29. Autenticazione GINA Windows personalizzata
- 30. Watin Autenticazione Windows
Bel esempio di uno scenario più "innocente" :). Quindi stai dicendo che la sessione e l'autenticazione non hanno nulla a che fare l'uno con l'altro? È strano ... Ed è piuttosto comune archiviare ruoli, o qualche altro token di autorizzazione, nella sessione, che renderebbe questo problema critico in questo scenario. Grazie. – AviD