簡體   English   中英

Kohana3參考以前的控制器?

[英]Kohana3 reference previous controller?


在Kohana3中是否有一種方法可以引用之前的控制器/動作。

讓我解釋一下:
我有一個基本控制器,用於檢查用戶是否使用Auth模塊登錄系統。
如果用戶轉到他不允許查看的頁面,他將被重定向到登錄屏幕。

現在我想(當他唱歌時)回到觸發登錄控制器的頁面。
我想將它作為URI段傳遞,但問題是控制器可以包含“/”字符。

例:

  • 用戶訪問mysite.com/user/profile
  • 他被重定向到mysite.com/login (需要傳遞用戶/個人資料
  • 成功登錄后,用戶將被重定向回mysite.com/user/profile

我通過不斷更新未登錄用戶的會話值來實現此目的。

Session::instance()->set('redirect', Request::instance()->uri());

然后,在成功登錄后,您可以像這樣重定向:

Request::instance()->redirect(Session::instance()->get('redirect', URL::base());

我沒有測試過代碼,但概念就在那里。 如果未設置任何值,則繼續重定向到主頁。

請確保您小心並驗證重定向網址。 它不應該,但是因為我們正在處理用戶數據,所以總會有一些不好的事情可能會回來。 您想要的最后一件事是在您登錄后被重定向到病毒感染的網站。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM