Yii 1.10 kullanıyorum ve oturum ile ilgili bir sorun var. Oturum açan bir kullanıcı sistemden bir süre ayrılırsa, Yii onu algılar ve oturumu yok eder, Bu durumda, kullanıcı herhangi bir denetleyiciye veya herhangi bir denetleyicinin eylemine erişememelidir. Ama benim durumumda bazı kontrolörler hala erişilebilir ve bana sonuçları gösteriyor. Hangisi iyi değil. Lütfen, erişilebilirliği önlemek için ne yapmam gerektiğini, yanlış bir şey yapıyorum. Lütfen çıkmama yardım edin.Yii oturumu zaman aşımına uğradı ancak bazı denetleyicilere hala erişilebilir. Kullanıcı oturum açma sayfasına nasıl gönderilir
1
A
cevap
2
Yii şekilde yapmak isterseniz, access control filter'u kullanmalısınız. Mevcut kullanıcının mevcut kontrolör eylemine erişip erişmediğini temel olarak kontrol eder.
Basit kullanım için yeterli olmalıdır. Karmaşık durumlarda, RBAC kullanmalısınız. Sen yii içinde RBAC nasıl kullanılacağı hakkında daha fazla ayrıntı elde edebilirsiniz here
1
Böyle o şey yapabilirim:
sizin Module.php
public function beforeControllerAction($controller, $action) {
if (parent::beforeControllerAction($controller, $action)) {
$controller->layout = 'admin_dashboard';
if(empty(Yii::app()->session['admin_id']) || empty($_SESSION['admin_id'])){
unset($_SESSION);
Yii::app()->user->logout();
}
$route = strtolower ($controller->id . '/' . $action->id);
//Add those page which not requires authentication like: 'action/controller',
$publicPages = array(
);
if (Yii::app()->user->isGuest && !in_array($route, $publicPages)){
Yii::app()->getModule('admin')->user->loginRequired();
}
else
{
return true;
}
} else
return false;
}
İlgili konular
- 1. com.paypal.core.rest.PayPalRESTException: Zaman aşımına uğradı
- 2. Daima zaman aşımına uğradı
- 3. SilverStripe'de oturum açma oturumu açma
- 4. System.Net.WebException: İşlem zaman aşımına uğradı
- 5. Bekleme işlemi zaman aşımına uğradı
- 6. fix java.net.SocketTimeoutException: Zaman aşımına uğradı
- 7. Python - TKinter "zaman aşımına uğradı"
- 8. FtpWebResponse, işlem zaman aşımına uğradı
- 9. İstek Zaman aşımına uğradı Kod = -1001_kCFStreamErrorCodeKey = -2102
- 10. Bekleme işlemi zaman aşımına uğradı. ASP
- 11. Facebook API - Oturum hala kullanıcı oturumu kapattıktan sonra var
- 12. URLError: urlopen hatası zaman aşımına uğradı
- 13. SQLAlchemy/mysql neden zaman aşımına uğradı?
- 14. ASP.NET Web API Yetkilendirme zaman aşımına uğradı
- 15. C# - Programsal olarak oturum kapatma ve kullanıcı oturumu açma
- 16. Websocket Bağlantı El Sıkışma Zaman aşımına uğradı
- 17. Java zaman aşımına uğradı Liste/Ayar?
- 18. Android Studio - Hata: Bağlantı zaman aşımına uğradı
- 19. Sitecore zaman aşımı oturum açma
- 20. Kod = -1001 "İstek zaman aşımına uğradı."
- 21. Java BoneCP MySQL bağlantısı zaman aşımına uğradı
- 22. Kablosuz yönlendiriciye ping işlemi yapıldığında zaman aşımı zaman aşımına uğradı
- 23. JDBC bir zaman aşımıyla zaman aşımına uğradı sorgusu
- 24. JSF-Richfaces-facelet içinde oturum zaman aşımına yönlendiriliyor
- 25. Bazen java.net.SocketTimeoutException: Okuma zaman aşımına uğradı. Bazen değil
- 26. Ubuntu'ya oturum açarken oturum açma zaman aşımını değiştir
- 27. Oturum açma ve önceden oluşturulmuş oturum açma SessionManager sınıfı
- 28. Oturum Açma Uygulaması, kullanıcıların oturum açtığı zaman, bir kullanıcı paylaşımında bir SharedPreference'a eklendiğinde,
- 29. VB.net Bağlantısı ile VisM "Sunucu Zaman Aşımına Uğradı"
- 30. Cruise Control & Git: "Kaynak kontrol işlemi zaman aşımına uğradı." hata
size kullanımını önlemek için şu anda ne yapıyoruz kontrol cihazlarınızın/eylemlerin. Kullanıcının hala giriş yapıp yapmadığını kontrol ediyor musunuz? –
@Evil_skunk Eğer her seferinde oturumu kontrol etmeye başlayacaksam, eğer kullanıcı giriş yapıp yapmadığımı kontrol etmek için her eylemde kontrol etmem gerekecek. Denetleyici sınıfında veya bir kez kontrol edeceğim yerde kontrol etmek istiyorum. – Tauseef