【发布时间】:2017-10-16 08:55:41
【问题描述】:
我创建了两个角色:管理员和编辑。我可以使用
将这些模块的菜单直接保护到 resources/views/vendor/backpack/base/inc/sidebar.blade.php 中 @role('admin')
<li class="header">{{ trans('backpack::base.administration') }}</li>
<!-- ================================================ -->
<!-- ==== Recommended place for admin menu items ==== -->
<!-- ================================================ -->
<li><a href="{{ url(config('backpack.base.route_prefix', 'admin') . '/dashboard') }}"><i class="fa fa-dashboard"></i> <span>{{ trans('backpack::base.dashboard') }}</span></a></li>
<li><a href="{{ url(config('backpack.base.route_prefix', 'admin') . '/elfinder') }}"><i class="fa fa-files-o"></i> <span>File manager</span></a></li>
<li><a href="{{ url(config('backpack.base.route_prefix', 'admin') . '/backup') }}"><i class="fa fa-hdd-o"></i> <span>Backups</span></a></li>
<li><a href="{{ url(config('backpack.base.route_prefix', 'admin') . '/log') }}"><i class="fa fa-terminal"></i> <span>Logs</span></a></li>
<li><a href="{{ url(config('backpack.base.route_prefix', 'admin') . '/setting') }}"><i class="fa fa-cog"></i> <span>Settings</span></a></li>
<!-- ======================================= -->
<li class="header">{{ trans('backpack::base.user') }}</li>
<!-- Users, Roles Permissions -->
<li class="treeview">
<a href="#"><i class="fa fa-group"></i> <span>Users, Roles, Permissions</span> <i class="fa fa-angle-left pull-right"></i></a>
<ul class="treeview-menu">
<li><a href="{{ url(config('backpack.base.route_prefix', 'admin') . '/user') }}"><i class="fa fa-user"></i> <span>Users</span></a></li>
<li><a href="{{ url(config('backpack.base.route_prefix', 'admin') . '/role') }}"><i class="fa fa-group"></i> <span>Roles</span></a></li>
<li><a href="{{ url(config('backpack.base.route_prefix', 'admin') . '/permission') }}"><i class="fa fa-key"></i> <span>Permissions</span></a></li>
</ul>
</li>
@endrole
<li><a href="{{ url(config('backpack.base.route_prefix', 'admin') . '/logout') }}"><i class="fa fa-sign-out"></i> <span>{{ trans('backpack::base.logout') }}</span></a></li>
</ul>
当然,这还没有结束,因为您仍然需要通过输入 URL 来保护编辑器对模块的访问。在 vendor/backpack/permissionmanager/src/app/Http/Controllers/PermissionCrudController.php 方法设置可以使用
Auth::user()->hasRole('admin')
并抛出错误或重定向但...
这不是一个好的解决方案(在供应商的模块中编写)。我该怎么办?如何保护编辑器对上述模块的访问。对不起,如果这对你来说太容易了,我刚刚开始玩 Laravel
【问题讨论】:
标签: php laravel laravel-backpack