Qual è il modo migliore (più sicuro) di implementare la gestione delle sessioni in un server web? Vorrei aggiungere questo, ma non so come implementarlo davvero. I cookie sono un "must" per la gestione delle sessioni? (Per essere in grado di identificare quale sessione)Implementazione di sessioni in un server Web java?
risposta
La gestione della sessione non è davvero la vostra preoccupazione. È gestito dalla classe HttpSession
(leggi la descrizione in javadoc!), Che puoi ottenere chiamando request.getSession()
.
Funziona in due modi (non c'è bisogno che tu faccia nulla per sostenerli):
- utilizzando un cookie di sessione (se i cookie sono consentiti)
- usando url-rewriting - aggiungendo l'id di sessione (
JSESSIONID
) all'URL.
(Nota: in realtà è gestito dal servlet container (Tomcat, molo, ecc), che fornisce un'implementazione di HttpSession
)
Supponendo che si sta parlando di un servlet container, quindi la gestione delle sessioni viene backed in. Vedere lo relevant part of if the JavaEE tutorial. Copre l'API di sessione, nonché il modo in cui vengono monitorate le sessioni (cookie o riscrittura degli URL).
La gestione delle sessioni viene gestita dal contenitore Web. Se vuoi sicurezza dagli sguardi indiscreti, usa https (applicato in web.xml).
Ciò che potrebbe interessarti anche è come l'utente si identifica nel contenitore web. Esistono diverse opzioni, in cui il più sicuro è che il client utilizza un browser Web con un certificato digitale. Questo è abbastanza noioso, ma molto sicuro :)
- 1. Implementazione di un server di chat come servizio Web
- 2. Implementazione incrementale di applicazioni web java
- 3. CORS Implementazione lato server Java
- 4. Server di implementazione Push
- 5. Esecuzione di Java su un server Web
- 6. Implementazione lato server Web Sockets per NodeJS
- 7. Implementazione della concorrenza nell'applicazione Web Java EE
- 8. Java SE - un piccolo programma server Web
- 9. Implementazione del server SMB Java aperto
- 10. Implementazione Java di un ... JVM?
- 11. Looping attraverso tutte le sessioni di un server in PHP
- 12. implementazione di un fornitore pigro in java
- 13. Implementazione di un interfaccia Java in Scala
- 14. Web server Java più piccolo
- 15. Implementazione di BFS in Java
- 16. Applicazione con gestione delle sessioni lato server
- 17. Implementazione RNT in java
- 18. implementazione diff in Java
- 19. Implementazione BGN in Java
- 20. Sessioni in freccetta
- 21. implementazione Singleton con un Enum (in Java)
- 22. Esecuzione di dart in un server Web
- 23. IIS7: condivisione di sessioni tra applicazioni con server di stato
- 24. Java - Interfacce di implementazione
- 25. Implementazione notifica push server
- 26. Implementazione web automatica
- 27. Sessioni in PHP 7
- 28. Implementazione di webrtc sul lato server
- 29. Implementazione di un bitfield in stile C in Java
- 30. Implementazione dell'autorizzazione in un server SignalR autoalimentato a cui si accede dal Web
+1. Basta prendere 'HttpSession' dalla richiesta e usare' get/setAttribute() 'per ottenere/impostare le cose nello scope della sessione. Questo è davvero tutto :) – BalusC
In realtà non ha mai detto che sta lavorando in un ambiente di container servlet. Ho capito che sta scrivendo è proprio webserver. Potrebbe essere sbagliato però. – whiskeysierra
@Willi allora la mia risposta è di nuovo utile, perché ho indicato le due opzioni che vengono utilizzate. Ma questo dovrebbe essere stato davvero chiarito. – Bozho