Tuesday, May 15, 2012

Role Base Access Control For Module

I added the source code for RBAC Module validation. We can check the access role in module level, controller level and action level.

add this in config/main.php

        'authManager'=>array(
            'class'=>'CDbAuthManager',
           
            'itemTable'=>'authitem',
                        'assignmentTable'=>'authassignment',
                        'itemChildTable'=>'authitemchild',
            'connectionID'=>'db',  
        ),

AdminModule

class AdminModule extends CWebModule
{
 public function init()
 {
  // this method is called when the module is being created
  // you may place code here to customize the module or the application
  // import the module-level models and components
  $this->setImport(array(
   'siteadmin.models.*',
   'siteadmin.components.*',
  ));

 }
    

 public function beforeControllerAction($controller, $action)
 {
  if(parent::beforeControllerAction($controller, $action))
  {
   // this method is called before any module controller action is performed
   // you may place customized code here
          // echo "sdf".Yii::app()->user->checkAccess('admincontrolPost'); 
         if(Yii::app()->user->checkAccess('siteadmin'))
        { 
            return true;
        }
        else {
            Yii::app()->request->redirect(Yii::app()->createAbsoluteUrl('site'));                               
        }
  }
  else
   return false;
 }
}

0 comments:

Post a Comment