laravel项目中的角色和权限问题

时间:2017-09-23 19:03:52

标签: laravel-5

我正在开展一个laravel项目。我有一个在所有页面上都持久的侧边菜单。但是,要显示的菜单项取决于分配给用户的角色。我通过这样做实现了这个目标:

<?php
        /**$links = Session::get('links'); **/
        use Illuminate\Support\Facades\DB;
        $id_hr_employee= Auth::user()->id_hr_employee;
        $links = DB::select("select a.link as links from sys_menu_links as a a.id_hr_employee = $id_hr_employee)
            ");
        ?>
        @if(isset($links))
            @foreach($links as $link)
                <li><hr class="light-grey-hr mb-10"/></li>
                @include("$link->links")
            @endforeach
        @endif

这很有效。但是,如果有人在地址栏上输入指向菜单(未分配给他)的路线,他会看到该页面。 请问如何防止这种情况?

1 个答案:

答案 0 :(得分:1)

我强烈建议您使用laratrust:https://laratrust.readthedocs.io/en/4.0/。 并保护您的方面:1。使用middelware进行操作以阻止您的管理员视图2.选项检查Controller文件中的权限。 作为指导,您可以查看本教程:http://itsolutionstuff.com/post/laravel-52-user-acl-roles-and-permissions-with-middleware-using-entrust-from-scratch-tutorialexample.html

问候