2010-02-13 16 views
5

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

6

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)

+0

+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

+0

Aslında bir servlet konteyner ortamında çalıştığını söylemedi. Yazdığını anladım kendi web sunucusu. Yine de yanlış olabilir. – whiskeysierra

+0

@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

2

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.

1

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 :)

İlgili konular