0

お問い合わせフォームやその他のユーザー入力フォームと同じように、標準フォームを作成する方法を知っています。しかし、私はユーザーが私たちのサイトで「製品」を作成できるフォームを作成したいと思います。問題は、このフォームには管理者だけがアクセスできる必要があるということです。これを制限するにはどうすればよいですか?

4

2 に答える 2

2
class SomeController extends Controller {
   public function filters()
    {
        return array(
            'accessControl',
        );
    }

    public function accessRules()
    {
        return array(
            array('allow',
                'actions' => array('actions_with_public_access'),
                'users' => array('*'),
            ),
            array('allow',
                'actions' => array('action_with_form'),
                'roles' => array('admin')

            ),
            array('deny',
                'users' => array('*'),
            ),
        );
    }

}
于 2012-11-14T09:22:37.623 に答える
1

メインコントローラーのRBACをチェックしないのはなぜですか?このようなもの:

public function YourAdminOnlyController(){
   public function init(){
     if(Yii::app()->user->checkAccess('your_role_admin')){
     }else
     $this->redirect(array('/site/message','txt'=>'access denied. only admins.'));
   }
}

これは、init()を使用しない簡単な方法ですが、私の意図は主要なアイデアを送信することです。 また、accessControlルールを使用するだけでもそれを行うことができます

于 2012-11-14T15:01:43.603 に答える