Bir web sunucusunda oturum işlemeyi gerçekleştirmenin en iyi (en güvenli) yolu nedir? Bunu eklemek isterdim, ama gerçekten nasıl uygulayacağımı bilmiyorum. Çerezler oturum yönetimi için "zorunlu" mu? (Hangi oturumu tanımlayabilmek için)Bir java web sunucusunda oturumları uygulama?
cevap
Oturum yönetimi gerçekten endişeniz değil. Bu, request.getSession()
numaralı telefonu arayarak alabileceğiniz HttpSession
sınıfı tarafından ele alınmıştır (javadoc'taki açıklamayı okuyun!).
Bu iki şekilde (onları desteklemek için her şeyi yapmaya gerek) çalışır: url yeniden yazma kullanarak (çerezler izin verilmesi halinde)
- bir oturum tanımlama kullanılarak
- - session id ekleme URL'ye (
JSESSIONID
).
(Not: aslında HttpSession
bir uygulamasını sağlar servlet konteyner (Tomcat, iskele, vb) tarafından ele alınır)
bir servlet konteyner bahsediyoruz varsayarsak, o zaman oturum yönetimi geliyor destekli .relevant part of if the JavaEE tutorial'a bakın. Oturum API'sini ve oturumların nasıl izlendiğini (çerez veya URL yeniden yazma) kapsar.
Oturum yönetimi, web kapsayıcısı tarafından işlenir. Eğer meraklı gözlerden güvenlik istiyorsanız, https kullanın (web.xml'de zorunludur).
Ayrıca ilginizi çekebilecek şey, kullanıcının web kapsayıcısını nasıl tanımladığıdır. İstemcinin en güvenli olduğu yerde dijital sertifikaya sahip bir web tarayıcısı kullandığı çeşitli seçenekler vardır. Bu oldukça sıkıcı ama çok güvenli :)
+1. Sadece istek üzerine 'HttpSession'ı yakalayın ve oturum kapsamındaki öğeleri almak/ayarlamak için' get/setAttribute() 'komutunu kullanın. Gerçekten hepsi bu kadar :) – BalusC
Aslında bir servlet konteyner ortamında çalıştığını söylemedi. Yazdığını anladım kendi web sunucusu. Yine de yanlış olabilir. – whiskeysierra
@Willi daha sonra cevabım yine kullanışlıdır, çünkü kullanılan iki seçeneği işaret ettim. Ama bu gerçekten açıklığa kavuşturulmuş olmalıydı. – Bozho