如何检查用户是否被分配了URL?

时间:2016-11-23 07:26:58

标签: laravel-5.2

我正在使用laravel 5.2。我想检查是否为用户分配了url。如果用户尝试访问管理员未分配给他的url,则应显示“access denied”消息。 我将展示我的comntroller

 public function checkUrl(){

        $current_link = $_SERVER['REQUEST_URI'];//current link

        $current_link=ltrim($current_link, '/');

        $current_link=ltrim($current_link, 'cable');

        $current_link=ltrim($current_link, '/');        

        $dlink = Roles::where('link',$current_link)->pluck('id');//current link id

        $elink=Auth::user()->id;//current user id

        if($elink == $dlink)
        {

        Session::flash('flash_notification', array('level' => 'success', 'message' => 'Access Denied!!'));

         return redirect()->action('Admin\DashboardController@index');
             }

          }

1 个答案:

答案 0 :(得分:0)

在此方案中,您几乎没有选择拒绝访问权限。

1)创建一个显示" Access Denied Msg"以及要包含的其他详细信息,如果访问被拒绝,则返回此页面。 例如,考虑创建的页面是access_denied.blade.php,那么你的if条件如下所示:

if($elink == $dlink)
    {
        Session::flash('flash_notification', array('level' => 'success', 'message' => 'Access Denied!!'));
        return view("access_denied");
    }

2)因为,您正在将请求重定向到另一个操作,请在那里处理与访问相关的响应。

3)按照给定的here发送中止响应。