Home > Backend Development > PHP Tutorial > Three methods of yii permission control

Three methods of yii permission control

WBOY
Release: 2016-07-29 09:08:43
Original
897 people have browsed it

The examples in this article describe the yii permission control method. Share it with everyone for your reference, the details are as follows:

Here are the following 3 excerpts:

1. Through accessControl:

public function filters()
{
  return array(
    'accessControl', // perform access control for CRUD operations
  );
}
/**
 * Specifies the access control rules.
 * This method is used by the 'accessControl' filter.
 * @return array access control rules
 */
public function accessRules()
{
  return array(
    array('allow', // allow authenticated users to access all actions
      'users'=>array('@'),
    ),
    array('deny', // deny all users
      'users'=>array('*'),
    ),
  );
}

Copy after login

2. Through plug-ins (such as: right)

public function filters()
{
  return array(
    'rights',
  );
}

Copy after login

3. Mixing mode:

/**
 * @return array action filters
 */
public function filters()
{
  return array(
    'updateOwn + update', // Apply this filter only for the update action.
    'rights',
  );
}
/**
 * Filter method for checking whether the currently logged in user
 * is the author of the post being accessed.
 */
public function filterUpdateOwn($filterChain)
{
  $post=$this->loadModel();
  // Remove the 'rights' filter if the user is updating an own post
  // and has the permission to do so.
  if(Yii::app()->user->checkAccess('PostUpdateOwn', array('userid'=>$post->author_id)))
    $filterChain->removeAt(1);
  $filterChain->run();
}

Copy after login

If you have permissions to open certain actions, you can pass allowedActions:

public function allowedActions()
{
  return 'autocomplate,autocomplate2';
}

Copy after login

I hope this article will be helpful to everyone’s PHP program design based on the Yii framework.

The above introduces the three methods of Yii permission control, including the content. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template