PHP ile Servlet paylaşım oturumu

3 Cevap java

Java uygulamaları ve PHP uygulamaları için SSO hizmet olarak bir Java EE uygulama sunucusu (GlassFish 3) kullanmak istiyorum. Bir kullanıcı GlassFish tarafından doğrulanmış alırsa o da PHP uygulamalarında oturum açmış olmalıdır.

PHP ile: (doğrulama durumu daha hassas) Servlet oturumu paylaşmak için iyi bir uygulama var mı?

3 Cevap

PHP / Java Integration bakabilirsiniz. Bir servlet ortama PHP entegre veya PHP çağrı Java var ya. Şimdi bu özel sorunu ve entegrasyon deneysel sayılır çözecektir% 100 emin değilim.

Ne muhtemelen yapsak daha iyi oturum verilerini paylaşmak için başka bir şey kullanıyor. Memcache gibi bir şey. Java ve PHP hem de özgürce memcache konuşabilirsiniz. Bu çok daha sağlam bir çözüm olacaktır.

Ben PHP ve Java uygulaması sunucusuna bağlantı ile hiçbir deneyimi var, ama genel olarak entegrasyonu:

Tek bir oturum yapmak için yaygın bir şekilde uygulama sunucusuna geçirmeden, PHP komut dosyası bir oturum kimliği (örneğin, Java Server tarafından belirlenen bir çerez) okuyor dahili (örneğin komut satırı aracılığıyla, bir HTTP arama veya yaparak önbellek örneği paylaşılan) ve kimlik doğrulama durumunu geri almak.

Eğer bu mümkün değilse, örneğin, hizmetler farklı etki alanlarında çalışan çünkü, PHP uygulaması denilen gets ilk kez için app sunucunun oturum kimliği geçerdi. PHP uygulaması daha sonra kendi başına bir oturum oluşturmak ve içinde app sunucudan oturum kimliği saklar. Yukarıda belirtildiği gibi uygulama sunucunun oturumu iç doğrulama çalışacak.

Sadece bir bayrak "/ giriş yapmadın oturum" daha fazla değişim gerekiyorsa, aynı zamanda session_set_save_handler() kullanarak PHP'nin standart oturum yönetimini yerine içine bakmak olabilir. Sizin özel oturum fonksiyonu yerine bir dosyaya oturum verilerini saklamak, böylece kimlik doğrulama durumu, kullanıcı adı, ve benzeri şeyler ile oturum verilerini önceden doldurmak, hangi app sunucudan veri almak istiyorum. Bu da kolay uygulamalar arası iletişim miktar için izin verecek.

Tabii ki, ilk yerleşik cletus sözünü Java / PHP entegrasyonu fonksiyonları zaten hile yapmazsak olmadığını kontrol edin.

i ile ilgili en iyi uygulama bilmiyorum ... ama çalışır ve gülünç pahalı değildir ve güvenliğinden taviz vermeyen, genellikle, eğer kabul edilebilir bir uygulama olabilir.

Kullanıcı bir php oturumu kalmadan bir php sayfasını ziyaret ettiğinde, bu php sayfa belirli bir jsp sayfasına yönlendir. kullanıcı etkin bir oturumu varsa jsp sayfa göreceksiniz. değilse jsp sayfa jsp sayfasında oturum açmak için kullanıcı bunu doğrulama belirteçleri ve böylece yanı sıra orijinal sayfanın url gibi şeyler geçirerek, belirli bir php sayfasına yönlendirmek olacaktır sağlayacaktır. php sayfa php oturum oluşturur ve istenen özgün sayfaya yönlendirir. Bu sayfaları farklı sunucular üzerinde farklı etki ve çalışan olabilir. Bu da java veya php veya başka bir şey çalıştıran farklı sunucular arasında çoğaltılır ve uygulanabilir.

acc.intt / page.php -> sso.intt / cosession.jsp -> acc.intt / cosession.php -> acc.intt / page.php