0

Noobの質問!

私は完全な管理者設定を持っています:ログイン、認証など、それは機能しています。したがって、別の状況に対応する新しいコントローラーが必要になり、PressDownloadsControllerという名前のコントローラーと、この新しいコントローラー内のすべてのアクションに対する正しいビューを作成します。

また、次のルートを作成しました。

Router::connect('/pressdownloads', array('controller' => 'pressdownloads', 'action' => 'downloads'));

pressDownloadsコントローラー内では、いくつかのアクション間にリダイレクトがあります。

URL / pressdownloads /downloadsまたは単に/pressdownloadsを開こうとすると、管理コントローラーに移動し、pressdownloads領域にアクセスする前にログインする必要があります。

なんで?

UsersController(admin)内の認証設定:

Ok。わかった。したがって、認証設定は次のとおりです。

      public $components = array(

    'Session',

    'Auth' => array(

        'loginAction' => array(

            'controller' => 'users',

            'action' => 'login',

            'prefix' => 'admin',

        ),

        'loginRedirect' => '/admin/events',

        'logoutRedirect' => '/admin',

        'authError' => 'Acesso negado',

        'flash' => array(

            'element' => 'admin/messages/error',

            'key' => 'auth',

            'params' => array()

        ),

        'authorize' => array('Controller'),

        'authenticate' => array(

            'Form' => array(

                'fields' => array('username' => 'email')

            )

        )

    )

);
4

2 に答える 2

0

「管理者」を有効にした後、そのリンクにアクセスすると思います。簡単に言えば、管理者が提供するページからのリンクをクリックする必要があります。

現在のルートにパラメータ「admin」=>falseを追加してみてください。

Router::connect('/pressdownloads', 
                array(
                   'controller' => 'pressdownloads', 
                   'action' => 'downloads', 
                   'admin' => false
                )
);
于 2013-03-07T15:31:02.417 に答える
0

Authコンポーネントの設定と、管理領域を非管理領域から分割する方法を確認することをお勧めします。また、次のように管理プレフィックスを使用しないようにルーティングで指定することもできます。

Router::connect('/pressdownloads', array('controller' => 'pressdownloads', 'action' => 'downloads', 'admin' => false));
于 2013-03-07T15:33:48.507 に答える