İki tane vtım var biri ayarların tutulduğu kullanıcı giriş kayıtlarının yapıldığı. Diğeri ise o kullanıcıların yaptığı işlemleri tutuyor.
Şimdi admin olarak girecek olan ilk vt ye bağlanıcak. İşlem yapıcaksa diğer vtye geçip kullanıcı giriş yapmalı.
Admin olarak girdiği yerde sessiona veriyi alıcam admin mi değilmi kontrolleri yapabilmek için.
Admin olarak girdiği yerdeki session ile user olarak girilen yerdeki sessionlarda
if (!Yii::app()->user->isGuest) <- koşulu güvenli olur mu ?
Admin olarak girdi , adres çubuğundan diğer vtye bağlı geçmiş hareketlerin olduğu url adrese girerse session isGuest değildir. Giriş serbest olmaz mı yada ne olur bilen var mı?
isGuest ile sadece login olup olmadigini kontrol edebilirsin. Controller de access rules lari setup yaparken asagidaki gibi yaparsan admin nin kullanicinin ve login olmamis kullanicinin giris izinlerini belirlemis olursun
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','view'),
'users'=>array('*'),
),
array('allow', // allow authenticated user to perform 'create' and 'update' actions
'actions'=>array('create','update'),
'users'=>array('@'),
),
array('allow', // allow admin user to perform 'admin' and 'delete' actions
'actions'=>array('admin','delete'),
'users'=>array('admin'),
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}
Birden fazla admin varsa dedigin gibi session kullanip accessRules da
array('allow', // allow admin user to perform 'admin' and 'delete' actions
'actions'=>array('admin'),
'users'=>(Yii::app()->user->getState('roletype')=='admin')?array(Yii::app()->user->getName()):array(''),
),