2016-09-20 3 views
2

두뇌 용 Cakephp 설치시 "CakeDC/Users"플러그인을 사용하고 있습니다. PagesController.php, CardsController.php라는 두 개의 컨트롤러가 있습니다. 페이지에는 1 개의 동작 (베타, 홈페이지)과 카드 두 가지 동작 (색인 및 단일)이 있습니다.Cakedc.users => 항상 홈페이지로 리디렉션

Configure::write('Users.config', ['users']); 
Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]); 

및 구성/users.php에서 플러그의 구성 : 여기서

는 부트 스트랩 설정되어

return [ 
'Users' => [ 
    'Email' => [ 
     'validate' => false 
    ] 
], 
'Auth' => [ 
    'loginAction' => [ 
     'plugin' => null, 
     'controller' => 'Members', 
     'action' => 'login', 
     'prefix' => null 
    ], 
    'logoutAction' => [ 
     'plugin' => null, 
     'controller' => 'Members', 
     'action' => 'logout', 
     'prefix' => null 
    ], 
    'authenticate' => [ 
     'all' => [ 
      'finder' => 'auth', 
     ], 
     'CakeDC/Users.ApiKey', 
     'CakeDC/Users.RememberMe', 
     'Form', 
    ], 
    'authorize' => [ 
     //'CakeDC/Users.Superuser', 
     //'CakeDC/Users.SimpleRbac', 
    ], 
], 

];

$routes->connect('/', ['controller' => 'Pages', 'action' => 'Beta', 'home']); 

을 그리고 여기 내 AppController.php입니다 :

나는 오직 하나 개의 경로가 설정 한 한 홈페이지가 허용됩니다

public function initialize() 
    { 
     parent::initialize(); 
     $this->loadComponent('Flash'); 
     $this->loadComponent('CakeDC/Users.UsersAuth'); 
    } 

:

$this->Auth->allow('beta'); 

기록되지 에서, 나는/page/beta에만 액세스 할 수 있습니다. 괜찮습니다. 플러그인으로 등록, 로그인 및 로그 아웃 할 수 있지만이 문제는 없습니다.

일단 로그인하면 홈페이지 이외의 다른 페이지에 액세스 할 수 없습니다. /cards/index 또는/cards/single에 도착하면 항상 홈페이지로 리디렉션됩니다. 플러그인을 사용 중지하면 페이지에 액세스 할 수 있습니다.

지금 당장은 도움이 되었습니까? 감사합니다, 베스트 감사합니다

답변

2

신경 끄시 고, 내가 대체했습니다

'authorize' => [ 
     //'CakeDC/Users.Superuser', 
     //'CakeDC/Users.SimpleRbac', 
], 

작성자 :

'authorize' => false, 

, 기본적으로 구성 요소와 인증에 사용되는 플러그인 당신은하지 않을거야 그래서 만약 그것을 사용하려면, 당신은 문제가 없는지 "거짓"으로 설정해야합니다. 또는 올바른 설정을 구성하여 권한이 부여 된 컨트롤러 및 작업을 설정해야합니다.

감사합니다.

관련 문제