Domanda

Può uno mi spiegare il funzionamento di Auth->authorize = "actions"
Nel mio progetto sto progettando tp dare questo.
Come questo mi ha insegnato l'autorizzare chiamerà il $this->Aro->check($user,"controllers/:controller/:action")

Questa verificherà la contro l'utente giusto ??
che significa che l'utente dovrebbe essere lì nella tabella di AROS.
Ma non ho bisogno di questo per controllare contro utente, ma ho bisogno di controllare contro un gruppo
Come posso raggiungere questo obiettivo.

Ora, quando gli utenti non sono nella tabella Aro esso mostrando il

In modo che del Aro sarà solo i gruppi e l'aggiunta di utenti al Aros è necessario

thankz in anticipo

È stato utile?

Soluzione

Ha ottenuto la soluzione
utilizzando questo riferimento
Ho esteso l'AuthComponent di CustomAuth e override il metodo isAutorized() nella AuthComponent come segue

in controllori / componenti / custom_auth.php

    <?php
App::import('Component','Auth');
class CustomAuthComponent extends AuthComponent {

    public function isAuthorized($type = null, $object = null, $user = null) {

        $actions  = $this->__authType($type);
        if( $actions['type'] != 'actions' ){
            return parent::isAuthorized($type, $object, $user);
        }
        if (empty($user) && !$this->user()) {
            return false;
        } elseif (empty($user)) {
            $user = $this->user();
        }


        $group = array('model' => 'Group','foreign_key' =>$user['Login']['group_id']);
        $valid = $this->Acl->check($group, $this->action());
        return $valid;
    }
}
?>

in app_controller.php

function beforeFilter()
{
$this->CustomAuth->userModel = 'Login';
$this->CustomAuth->allowedActions = array('display');
$this->CustomAuth->actionPath = 'controllers/';
$this->CustomAuth->authorize = 'actions';
}

Questo risolto il mio problema:)

Altri suggerimenti

Date un'occhiata a questo capitolo . Per controllare un permesso gruppo fare questo ( 'modello' e 'foreign_key' valori sono da tavolo AROS):

$this->Acl->check(
     array('model' => 'Group', 'foreign_key' => 2),
    'controller/action'
);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top