Rights allowedactions

agan2 mastah yii… Numpang tanya dong…

di siteController yang ane buat kan ada beberapa action… salah satunya actionIndex… rencananya actionIndex ini ga bisa diliat sebelum seseorang melakukan login…

Nah, untuk itu ane pake extension RIGHTS… ane pake allowedaction nya seperti di bawah…




public function allowedActions()

	{

	 	if(Yii::app()->user->checkAccess('Site.Index')){

		return 'index,login,error,logout';

		}

		else{

		return 'login,error,logout';

		}

	}



tapi begitu masuk malah dapet error 403… Gmana ya ? Apa yang salah ya kira2 ?

Trims sebelumnya

Kenapa gak pake accessRules, gan?




public function filters()

{

   return array(

      'accessControl', // perform access control for actions

   );

}


public function accessRules()

{

   return array(

      array('allow', // allow authenticated user to perform 'index' actions

        'actions'=>array('index'),

 	'users'=>array('@'),

      array('deny',  // deny all users

        'users'=>array('*'),

      ),

   );

}



Atau kalau agan udah buat roles-nya di Rights, tinggal diubah menjadi kurang lebih seperti ini:




array('allow',

   'actions'=>array('index'),

   'roles'=>array('...'),

),



Iya… ga buat di accessRules supaya ada interface untuk ngemanage roles nya…

solved ternyata dengan nambahin ‘defaultRoles’=>array(‘Guest’) di authmanager nya…

itu array(‘allow’) ditaro di mana ya gan ? di function allowedactionnya ?

Thanx

mau nambahin saja, cara pakai allowedActions() nya si Rights bukannya return array saja yah seperti begini:


public function allowedActions(){

    return array('index','contact', 'login');

}

Setau saya gak ada coding-codingnya

iya… soalnya kemaren sempet bingung gmana caranya si user yang di roles Authenticated boleh akses actionIndex… sedangkan yang roles Guest tidak boleh akses actionIndex…

Solved… dengan dihapus function allowedactionnya… dan ditambahkan defaultRoles di config/main.php nya




'components'=>array(

		...

		

		'authManager'=>array(

			             'class'=>'RDbAuthManager',	

			             'defaultRoles'=>array('Guest'),

                                    ),

                ...



Thanx