【问题标题】:users roles access to specific menus用户角色访问特定菜单
【发布时间】:2014-07-15 12:26:59
【问题描述】:

我有一个 laravel 4 应用程序,我想添加一些用户角色“管理员”和“操作员”。管理员应该有一些权限来使用一些额外的菜单而不是操作员。我有这个 header.blade.php 有标题菜单。

<div class="media user-media">
    <div class="user-media-toggleHover">
        <span class="fa fa-user"></span> 
    </div>
</div>
<!-- #menu -->
<ul id="menu" class="">
    <li class="">
        <a href="javascript:;">
            <i class="glyphicon glyphicon-time"></i>
            <span class="link-title">
                {{Lang::get('messages.history')}}
            </span> 
            <span class="fa arrow"></span> 
        </a> 
        <ul>
            <li class="">
                {{ Helpers\Helper::fa_link_to_action('glyphicon glyphicon-time','CarController@history',Lang::get('messages.update_history'),null,array(
                            'class'=>'link-title'))
                }}
            </li>   
            <li class="">
                {{ Helpers\Helper::fa_link_to_action('glyphicon glyphicon-time','CarController@insert_history',Lang::get('messages.insert_history'),null,array(
                            'class'=>'link-title'))
                }}
            </li>  
        </ul>
    </li>
    <li class="">
        <a href="#">
            <i class="fa fa-pencil"></i>
            <span class="link-title">
                Menu3
            </span> 
            <span class="fa arrow"></span> 
        </a> 
        <ul>
            <li class="">
                <a href="#">
                    <i class="fa fa-angle-right"></i>&nbsp;Submenu1</a> 
            </li>
            <li class="">
                <a href="#">
                    <i class="fa fa-angle-right"></i>&nbsp;Submenu2</a> 
            </li>             
        </ul>
    </li>
</ul><!-- /#menu -->

这包含在 layout>default.blade.php 中

 <head>
        @include('includes.header')
    </head>

default.blade.php 包含在所有视图页面中。现在我想例如设置菜单只显示给管理员。有什么建议吗?

【问题讨论】:

    标签: laravel permissions roles


    【解决方案1】:

    你可以试试这样的东西

    @if(Auth::user()->role == 'admin')
        {{-- stuff for the admin --}}
    @endif
    

    更新

    首先,您可以使用数据透视表存储角色,其中将存储 use_id 和 role_id。

    然后你可以参考这个问题中的answer,当你想检查一个用户的角色时。

    【讨论】:

    • 这样一个用户只有一个角色?因为你说要在 users 表中保存 role_id?
    • 你可以尝试将角色保存在数据透视表中,这样一个用户就可以拥有多个角色。此外,您可以在用户模型上添加一个方法,该方法检查用户拥有的角色类型。
    猜你喜欢
    • 2014-09-24
    • 1970-01-01
    • 2020-01-31
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多