Frage

Kann jemand erklären mir das Wirken Auth->authorize = "actions"
In meinem Projekt habe vor, ich dieses tp zu geben.
Wie diese hat mich gelehrt, die autorisieren die $this->Aro->check($user,"controllers/:controller/:action")

nennen

Prüft die gegen den Benutzer oder ??
dass Mittel sollte der Benutzer in aros Tabelle da sein.
Aber ich brauche das nicht gegen Benutzer zu überprüfen, aber ich muss gegen eine Gruppe
überprüfen Wie kann ich diese achive.

Jetzt, wenn die Benutzer nicht in Aro Tabelle den

zeigt

Damit der Aro wird der sein, nur die Gruppen und Hinzufügen von Benutzern zum Aros ist erforderlich

thankz im Voraus

War es hilfreich?

Lösung

Haben Sie die Lösung
mit dieser Referenz
i erweiterte die Auth Komponente zu CustomAuth und der überschriebene isAutorized() Methode in der Auth Komponente wie folgt

in controllers / components / 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';
}

Dies löste mein Problem:)

Andere Tipps

Werfen Sie einen Blick auf diese Kapitel . Um zu prüfen, eine Gruppe der Berechtigung, diese ( ‚Modell‘ und ‚foreign_key‘ Werte sind aus aros Tabelle) tun:

$this->Acl->check(
     array('model' => 'Group', 'foreign_key' => 2),
    'controller/action'
);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top