mau tanya dong para2 master yii …
ane pingin redirect suatu aplikasi ke halaman login apabila dia belum teridentifikasi n terotentifikasi , gmana ya gan caranya ?? otorisasi yang ane bikin tu pake teknik session …
ni source codenya gan di user identity
public function authenticate()
{
$users=array(
// username => password
'admin'=>'superb1234',
);
if ($this->password == 'superb1234'){
$this->errorCode=self::ERROR_NONE;
$this->setState('nikuser', 'admin');
$session = Yii::app()->session;
$session['adminsuper'] = TRUE;
return !$this->errorCode;
}
if(!isset($users[$this->username]))
$this->errorCode=self::ERROR_USERNAME_INVALID;
else if($users[$this->username]!==$this->password)
$this->errorCode=self::ERROR_PASSWORD_INVALID;
else
$this->errorCode=self::ERROR_NONE;
}
return !$this->errorCode;
}
}
terus di salah satu controler ane buat access roles nya seperti ini :
public function accessRules() {
$iduser = Yii::app()->user->nikuser;
$session = Yii::app()->session;
if ($session['superadmin'] == TRUE) {
$admin = array($iduser);
} else {
$admin = array('01010101');
}
if ($session['hrbenefit'] == TRUE) {
$hrbenefit = array($iduser);
} else {
$hrbenefit = array('01010101');
}
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' => $admin,
),
array('allow', // allow authenticated user to perform 'create' and 'update' actions
'actions' => array('create', 'update','admin'),
'users' => $hrbenefit,
),
array('allow', // allow admin user to perform 'admin' and 'delete' actions
'actions' => array('admin', 'delete'),
'users' => $admin,
),
array('deny', // deny all users
'users' => array('*'),
),
);
}
ane pingin ketika ada user yang iseng langsung memasukkan url misalnya :
http://localhost/aplikasilemon/index.php?r=anggaranhr/create
maka bukan pesen : cwebuser.nikuser is not define yang keluar gan ,
tp langsung di redirect ke menu login …
mohon bantuaanya gan …
thx banget