Как настроить компонент Auth в appcontroller

0

Я использую cakephp 2.6.

Я следил за учебниками из кулинарной книги cakephp и обнаружил, что есть два способа настроить компонент Auth в appcontroller.

Первый:

public $components = array(
  'Acl',
  'Auth' => array('authorize' => array('Actions' => array('actionPath' => 'controllers'))),
  'Session'
);

И еще:

public $components = array(
  'Acl',
  'Auth' => array('authorize' => 'Controller'),
  'Session'
);

Поэтому мой вопрос: каковы различия между ними и почему мы должны использовать параметр authorize?

Теги:
authentication
cakephp
acl
authorization

1 ответ

0

Попробуй это

public $components = array(
    'Cookie',
    'Email',
    'RequestHandler',
    'Session' ,
    'Auth'=>array(
        'loginAction' => '/login',
        'loginRedirect'=> '/login', //~ where to redirect if user not login
        'logoutRedirect'=> '/logout',
        'authError'=>"You can't access this page",

        'authenticate' => array('Form',array('fields' => array('username' => 'email'),'userModel' => 'User')), //~ user email as username if login with email else use username in case of log
        'authorize'=>array('Controller')    
    ) ,
    'RequestHandler',
    'Upload'
);

поместите эту функцию в контроллер приложения

public function isAuthorized($user) {
    if($user)
        return true;
    else
        return false;
}

Вы можете войти с помощью кода ниже в функции входа в систему

$this->Auth->login();
  • 0
    спасибо за ваш ответ, но в основном я хочу знать, почему я должен использовать параметр авторизации, который является ** 'authorize' => array ('Controller') **
  • 1
    Вы найдете свой ответ здесь. book.cakephp.org/2.0/en/core-libraries/components/...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню