return Ownership::isCommentsOwner($params); }); Rbac::permission('comments.delete'); Rbac::permission('comments.delete.own', ['comments.delete'], function ($params) { return Ownership::isCommentsOwner($params); }); Rbac::permission('comments.manage', ['comments.view', 'comments.create', 'comments.edit', 'comments.delete']); Rbac::permission('comments.manage.own', ['comments.create', 'comments.edit.own', 'comments.delete.own']); // tags Rbac::permission('tags.view'); //Rbac::permission('tags.create'); //Rbac::permission('tags.edit'); //Rbac::permission('tags.delete'); Rbac::permission('tags.manage', ['tags.view']); // votes Rbac::permission('votes.view'); Rbac::permission('votes.create.own'); Rbac::permission('votes.delete.own'); Rbac::permission('votes.own', ['votes.create.own', 'votes.delete.own']); // images Rbac::permission('images.view'); Rbac::permission('images.create'); // link preview Rbac::permission('preview.view'); // roles Rbac::permission('roles.update'); /* * Roles */ Rbac::role('ADMIN', ['users.manage', 'folders.manage', 'questions.manage', 'answers.manage', 'comments.manage', 'tags.manage', 'votes.view', 'votes.own', 'images.view', 'images.create', 'preview.view', 'roles.update']); Rbac::role('USER', ['users.edit.own', 'folders.view', 'questions.view', 'questions.manage.own', 'answers.view', 'answers.manage.own', 'comments.view', 'comments.manage.own', 'tags.view', 'votes.view', 'votes.own', 'images.view', 'images.create', 'preview.view']);
Rbac::permission('answers.manage', ['answers.view', 'answers.create', 'answers.delete']); Rbac::permission('answers.manage.own', ['answers.create', 'answers.delete.own']); // comments Rbac::permission('comments.view'); Rbac::permission('comments.create'); //Rbac::permission('comments.edit'); //Rbac::permission('comments.edit.own', ['comments.edit'], function($params) {}); Rbac::permission('comments.delete'); Rbac::permission('comments.delete.own', ['comments.delete'], function ($params) { }); Rbac::permission('comments.manage', ['comments.view', 'comments.create', 'comments.delete']); Rbac::permission('comments.manage.own', ['comments.create', 'comments.delete.own']); // tags Rbac::permission('tags.view'); //Rbac::permission('tags.create'); //Rbac::permission('tags.edit'); //Rbac::permission('tags.delete'); Rbac::permission('tags.manage', ['tags.view']); // votes Rbac::permission('votes.view'); Rbac::permission('votes.create.own'); Rbac::permission('votes.delete.own'); Rbac::permission('votes.own', ['votes.create.own', 'votes.delete.own']); // images Rbac::permission('images.view'); Rbac::permission('images.create'); /* * Roles */ Rbac::role('ADMIN', ['folders.manage', 'questions.manage', 'answers.manage', 'comments.manage', 'tags.manage', 'votes.view', 'votes.own', 'images.view', 'images.create']); Rbac::role('USER', ['folders.view', 'questions.view', 'questions.manage.own', 'answers.view', 'answers.manage.own', 'comments.view', 'comments.manage.own', 'tags.view', 'votes.view', 'votes.own', 'images.view', 'images.create']);
<?php Rbac::permission('event.create'); Rbac::permission('blog.create'); Rbac::permission('test.create'); Rbac::permission('course.create'); Rbac::role('teacher', ['event.create', 'blog.create', 'test.create', 'course.create']); Rbac::role('director', ['event.create', 'blog.create', 'test.create', 'course.create']); /* * Describe you permissions here. * * Rbac::permission('users.show'); * Rbac::permission('users.index'); * Rbac::permission('users.update'); * * Rbac::permission('users.view', [ * 'users.show', * 'users.index' * ]); * * Rbac::permission('users.update.self', ['users.update'], function($params) * { * return $this->user->id == $params['user']->id; * }); * * * Rbac::role('user', [ * 'users.view', * 'users.update.self' * ]); *
<?php Rbac::permission('news.destroy'); Rbac::permission('news.update'); Rbac::permission('news.manage', ['news.destroy', 'news.update']); Rbac::permission('news.manage.own', ['news.manage'], function ($params) { return $this->user->id == $params['news']->author_id; }); Rbac::resource('article', 'ArticlesController', 'author_id'); Rbac::role('admin', ['news.manage', 'article.manage']); Rbac::role('user', ['news.manage.own', 'article.manage.own']);