Otomatik olarak giriş sayfasına yönlendirilecek bir URL'yi tahmin eden kullanıcıların olmasını istemiyorum. Yönlendirme yerine, giriş yaptığınız sürece bir hata atmak istiyorum. Bunu yapmanın yii2 yolu nedir?yii2 giriş sayfasına yönlendirmek yerine hata attı
cevap
çözüm Bulunan: Eğer Yii2 Dokümanlar kontrol edebilirsiniz konuyla ilgili daha geniş bilgi için
/**
* @inheritdoc
*/
public function beforeAction($action)
{
if(Yii::$app->getUser()->isGuest && !in_array($action->id,['allowed', 'actions', 'here']))
throw new \yii\web\HttpException(403, 'Page could not be found.');
if (!parent::beforeAction($action)) {
return false;
}
return true;
}
. behaviours
yılında ekleyebilir http://www.yiiframework.com/doc-2.0/guide-security-authorization.html
İlgili Denetleyicilerinde beforeAction() yöntemini geçersiz kılabilirsiniz. yii\base\Controller beforeAction() details
Evet uyarınca
[ 'class' => AccessControl::className(), ... 'denyCallback' => function ($rule, $action) { throw new \Exception('You are not allowed to access this page'); } ]
ama bu da giriş sayfasındaki istisna, hata sayfası vb ... – keeg
Evet fırlatır, nokta size özel erişim koyabilirsiniz edildi kontrol kodu var. Başka bir koşul eklemek probleminizi çözer. Kodu ayarlayacağım. – ttdijkstra
Bu, yapabileceğiniz en iyi çözümdür. Yeni filtreler oluşturmak veya beforAction'ı geçersiz kılmak yerine, bir filtre zaten yapıldı. Aferin! –