Nasıl Zend_Auth kullanılarak kimlik doğrulaması sonra istenen URI yönlendirmek için?

2 Cevap php

Ben (bir controller plugin) yönteminin preDispatch bir çek kullanarak, benim uygulamalardan biri için kullanıcıların kimliğini doğrulamak için basit bir Zend_Auth kurulumu kullanıyorum. Anonim kullanıcıların gittiklerinde

/users/view/id/6

örneğin, kimlik doğrulama sonra yukarıdaki URI yönlendirilmelidir.

Bunu yapmanın en iyi yolu nedir? Ben oturumda $_SERVER['REQUEST_URI'] depolamak için tercih ediyorum. Şahsen ben temiz çözüm için tüm Zend Request nesnesi depolanması bulmak istiyorum, ama bu mantıklı ve bu yaklaşım olup olmadığını ben alınması gerektiğini eğer ben emin değilim.

Herhangi bir düşünce?

2 Cevap

Peki yönlendirme veya LoginController iletme giriş sayfasına bir un-doğrulanmış kullanıcı getirmek için en iyi yol olmayabilir. Bunun yerine preDispatch at $ istek nesne yakala ve aşağıdakileri yaparak bunu değiştirmek.

$request->setActionName('someaction');
$request->setControllerName('somecontroller');

Bu noktada muhafaza edilen orijinal isteği henüz sayfasında giriş sayfasını görüntülüyor. Sonra Geçerli istek yer açma denetleyicisi olup olmadığını görmek için kontrol etmek için giriş kontrolörü değiştirebilir veya yapabileceğim başka bir şey varsa. Başarılı bir oturum ile ilgili başka bir şey (orjinal istek) ise o sayfaya gönderebilirsiniz.

We had the same problem and actually did store request URI in session variable. If you don't put any specific, unserializable object into Zend Request, I think it also will be ok to persist it.

Ancak siz bekliyorsanız ne çıktı bağlıdır. Eğer bir yüksek trafik web sitesi varsa Zend Request gibi Dizgeleştirme nesneler iyi bir fikir olmayabilir.