PHP code example of davidxu / yii2-srbac
1. Go to this page and download the library: Download davidxu/yii2-srbac library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
davidxu / yii2-srbac example snippets
'as access' => [
'class' => '\davidxu\srbac\components\AccessFilter',
'allowActions' => [
// add wildcard allowed action here!
'site/*',
'debug/*',
'srbac/*', // only in dev mode
],
],
...,
'modules' => [
'srbac' => [
'class' => '\davidxu\srbac\SrbacModule',
],
...
],
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager', // only support DbManager
],
],
if ((Srbac::checkRoute($this->context->id.'/create'))){
echo Html::a('Create Note', ['create'], ['class' => 'btn btn-success']);
}
// in other case maybe You want ensure same of route so You can add parameter strict true
if ((Srbac::checkRoute($this->context->id.'/create',true))){
use davidxu\srbac\components\Srbac;
$menuItems = [
['label' => 'Home', 'url' => ['/site/index']],
['label' => 'About', 'url' => ['/site/about']],
['label' => 'Contact', 'url' => ['/site/contact']],
];
if (\Yii::$app->user->isGuest){
$menuItems[] = ['label' => 'Login', 'url' => ['/site/login']];
}
else{
$menuItems[] = ['label' => 'App', 'items' => [
['label' => 'Category', 'url' => ['/category/index']],
['label' => 'Product', 'url' => ['/product/index']],
['label' => 'Cart', 'url' => ['/cart/index']],
]];
$menuItems[] = [
'label' => 'Logout (' . \Yii::$app->user->identity->username . ')',
'url' => ['/site/logout'],
'linkOptions' => ['data-method' => 'post']
];
}
$menuItems = Srbac::filterMenu($menuItems);
// in other case maybe You want ensure same of route so You can add parameter strict true
// $menuItems = Srbac::filterMenu($menuItems,true);
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'items' => $menuItems,
]);
use davidxu\srbac\components\Srbac;
echo GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
...,
[
'class' => 'yii\grid\ActionColumn',
'template' => Srbac::filterActionColumn([
'update','delete','download'
],$this->context->route),
...
]
]
]);
php composer.phar
http://localhost/path/to/index.php?r=srbac/route
http://localhost/path/to/index.php?r=srbac/role
http://localhost/path/to/index.php?r=srbac/user