ホームページ > バックエンド開発 > PHPチュートリアル > yii权限控制的方法(三种方法)_php实例

yii权限控制的方法(三种方法)_php实例

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-07 17:10:10
オリジナル
895 人が閲覧しました

本文实例讲述了yii权限控制的方法。分享给大家供大家参考,具体如下:

这里摘录以下3种:

1. 通过accessControl:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

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('*'),

    ),

  );

}

ログイン後にコピー

2. 通过插件(如:right)

1

2

3

4

5

6

public function filters()

{

  return array(

    'rights',

  );

}

ログイン後にコピー

3. 混合模式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

/**

 * @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();

}

ログイン後にコピー

如果有权限的基础上,开放某些动作的权限,可以通过allowedActions:

1

2

3

4

public function allowedActions()

{

  return 'autocomplate,autocomplate2';

}

ログイン後にコピー

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート