Alt alan Zend Kimlik Sorunu

2 Cevap php

Ben zend framework, php, mysql ubuntu üzerinde kullanarak bir proje üzerinde çalışıyorum.

Ben hostname test.dev benim yerel makinede ve zend kimlik doğrulaması kullanarak oluşturduk. Bir kullanıcı zend kimlik doğrulaması kullanarak kimlik doğrulaması yapıldığında kullanıcı kimliği yapman için, ben oturum değişkeni ayarlayın. Eminim kimlik için farklı sayfalarda bu oturum değişkeni (userid) kullanın.

Question: Now I have to create a subdomain. I have created a new hostname mypage.test.dev on my local machine. Both hostnames are pointing to same directory, for example /var/www/test/public. But when I login on test.dev, I have to login again on subdomain mypage.test.dev. Even session variables of test.dev are not accessable on mypage.test.dev.

Nasıl bir giriş kullanarak tüm alt etki alanları üzerinde giriş yapabilirsiniz?

Teşekkürler.

2 Cevap

Bir süre sonra benim çözüm var.

I config.ini içine aşağıdaki satırı eklendi

session.cookie_domain = .test.dev

sonra Bootstrap.php içine aşağıdaki satırı eklendi

Zend_Session::setOptions( $this->getOption('session') );

ve oturum değişkenleri test.dev tüm alt etki alanları için çalışıyoruz

Oturum değişkenleri her özel etki adresi belirli saklanır. Bir web sitesi kötü kodlanmış ve siz siteye erişmek daha sonra http://mydomain.com giriş ve eğer Ve böylece http://www.mydomain.com, aynı hatayla karşılaşırsınız.

Bu olası bir çözüm kurulum ile diğer etki alanı erişmek ve herhangi bir saklanan oturum değişkenlerini almak yanı olarak kullanıcı doğrulamasını sağlar Webcoder olduğunu. Ben test.dev giriş ve daha sonra mypage.test.dev giderseniz Yani, örneğin, bir çağrı ise kullanıcının kimliğini doğrulamak için mypage.test.dev tarafından / / auth-hizmet test.dev verilir ve olacak Onlar mypage.test.dev tarafından saklanabilir o kadar başarılı, o zaman tüm saklanan oturum değişkenleri dönmek.

Oturum verilerine arayüz hem siteler arasında tutarlı kalır Belki de böylece daha temiz bir yaklaşım her zaman yalnızca bir etki alanı veya diğer oturum verilerini erişmek ve her zaman web servis aracılığıyla kesinlikle erişmek olacaktır. Bu sadece bir web servisi aracılığıyla oturuma erişebilir doğrudan ziyade açıkça daha hızlı olduğu için olsa olası bir performans mevcut yok.