问题与accessRules

喜的朋友,

我有一些accessRules问题。

我的目的是检查相关网页登录。

我写了一个控制器accessRules,说AccountsController为:




public function filters() {

        return array(

            'accessControl', // perform access control for CRUD operations

        );

    }

    

    public function accessRules() {

        return array(

            array('allow', // allow all users to perform 'index' and 'view' actions

                'actions' => array('index', 'forgotpassword', 'changepassword', 'register',

                    'captcha', 'login', 'confirmindividualuser',

                    'plans', 'confirmmerge', 'accountmerged', 'plandetails', 'individualaccount', 'registrationsuccess',

                    'forgotpasswordsuccess', 'individualprofile', 'invalid', 'company', 'companyprofile', 'logout'),

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

            ),

            array('allow', // allow authenticated user to perform 'create' and 'update' actions

                'actions' => array('companyprofilesuccess','changepasswordsuccess'),

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

            ),

            array('allow', // allow admin user to perform 'admin' and 'delete' actions

                'actions' => array('admin', 'delete'),

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

            ),

            array('deny', // deny all users

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

            ),

        );

    }



一旦登录我要重定向到另一种方法是在SurveyController。

所以我写了:




    /**

     * @return array action filters

     */

    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 all users to perform 'index' and 'view' actions

                'actions' => array(),

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

            ),

            array('allow', // allow authenticated user to perform 'create' and 'update' actions

                'actions' => array('index', 'main', 'contacts', 'commercial', 'documents',

                    'form', 'savequestions', 'formaddsection', 'formaddquestion',

                    'formeditquestion', 'formdeletesection', 'formdeletequestion',

                    'picksection', 'pickquestion', 'preview', 'send', 'createlink'),

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

            ),

            array('allow', // allow admin user to perform 'admin' and 'delete' actions

                'actions' => array('admin', 'delete'),

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

            ),

            array('deny', // deny all users

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

            ),

        );

    }




此外,我补充的loginUrl在配置文件(main.php)




'user' => array(

            // enable cookie-based authentication

            'allowAutoLogin' => true,

            'loginUrl'=>array('accounts/login'),

        ),



但我的问题是当我在SurveyController,仍表现出不检查用户的登录页面的浏览器类型的方法。请给我一个解决方案…

这也许是因为你有一个空的“行动”的第一条规则:

于是,我就




public function accessRules() {

        return array(

            array('allow', // allow all users to perform 'index' and 'view' actions

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

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

            ),

            array('allow', // allow authenticated user to perform 'create' and 'update' actions

                'actions' => array('index','main','contacts','commercial','documents','form','savequestions','formaddsection','formaddquestion','formeditquestion','formdeletesection','formdeletequestion','picksection','pickquestion','preview','send','createlink'),

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

            ),

            array('allow', // allow admin user to perform 'admin' and 'delete' actions

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

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

            ),

            array('deny', // deny all users

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

            ),

        );

    }




但我得到了错误像“

页面不能正确重定向

Firefox已经检测到该服务器是一个永远无法完成的方式,将这个地址的请求重定向。

有时会造成这个问题可以通过禁用或拒绝接受

饼干。

我也删除Cookie的。仍然得到了类似的问题。请帮助我。

在此先感谢…