Ciao ragazzi Ho visto un sacco di tutorial su Yii 2 RBAC ma non riesco davvero ad apprezzare come implementare le regole. Nella guida di Yii 2 hanno introdotto il modo in cui vengono create le regole, ma non proprio come possono essere implementate nel comportamento del controller o da qualche altra parte. Ho davvero bisogno di qualche chiarimento riguardo a questa questione.Implementazione della regola RBAC Yii2
Quello che ho ora è un sistema di caricamento di documenti in cui ho due ruoli, cioè il codificatore admin &. Fondamentalmente, il ruolo di amministratore può fare tutto mentre il ruolo dell'encoder può solo creare, visualizzare, possedere, aggiornare e possedere e cancellare. Ho già creato una regola denominata encodedBy.
Questo è il mio codice nel mio EncoderRule
namespace app\rbac; use yii\rbac\Rule;
/** * Checks if encoded_by matches user passed via params */ class EncoderRule extends Rule {
public $name = 'encodedBy';
/**
* @param string|integer $user the user ID.
* @param Item $item the role or permission that this rule is associated with
* @param array $params parameters passed to ManagerInterface::checkAccess().
* @return boolean a value indicating whether the rule permits the role or permission it is associated with.
*/
public function execute($user, $item, $params)
{
return isset($params['document']) ? $params['document']->encoded_by == $user : false;
} }
posso conservare i dati nella tabella 'documento' dove ho un campo denominato 'encoded_by' Spero che voi ragazzi mi può aiutare in questo. Grazie mille !!!
Questo video fa un ottimo lavoro di spiegazione dell'RBAC per chiunque non sia sicuro di come funziona: https://www.youtube.com/watch?v = vLb8YATO-HU – TheStoryCoder