Je travaille actuellement avec rbac yii2. J'ai défini tous les rôles et toutes les permissions dans la base de données. Maintenant la question pour moi est où devrais-je vérifier la règle d'accès? Par exemple auteur peut mettre à jour ses propres messages. J'ai également enregistré la règle dans la base de données sous le nom rule_name = 'isAuthor'. Mais je suis confus au sujet de la condition de vérification pour accéder aux propres messages.Comment implémenter la méthode can()?
Voici mon actionRule:
<?php
public function actionRule(){
$auth = Yii::$app->authManager;
$rule = new \app\rbac\AuthorRule;
$auth->add($rule);
$updateMobile = $auth->createPermission('mobile/update');
// add the "updateOwnMobile" permission and associate the rule with it.
$updateOwnMobile = $auth->createPermission('updateOwnMobile');
$author = $auth->createPermission('author');
$updateOwnMobile->description = 'Update own mobile';
$updateOwnMobile->ruleName = $rule->name;
$auth->add($updateOwnMobile);
// "updateOwnMobile" will be used from "updatePost"
$auth->addChild($updateOwnMobile, $updateMobile);
// allow "author" to update their own posts
$auth->addChild($author, $updateOwnMobile);
}
?>
Où et comment puis-je mettre en œuvre cela? dans le contrôleur? comportement? ou d'autres lieux?