0

我有个问题。我做了一个函数,如果“类型”(我数据库中的一列)等于五,它将显示其他人无法查看的按钮。问题是当我注销或登录到类型不等于 5 的用户时,它会显示错误。我怎么能在函数中做到这一点?我尝试了各种方法,但它总是显示错误。这是我的方法...

<?php

public function get_dash()
{
    $roles = Auth::user()->type;

    if ($roles == '5') {
        return View::make('admin.dash')->with('roles', $roles);
    } else {
        return Redirect::to('news/index')
            ->with('danger', 'You either have insufficient permissions 
                   to access this page or your user credentials 
                   are not refreshed.');
    }
}

我基本上想要它,这样如果帐户中没有类型等于五个,或者当我注销时它会正常加载......

return View::make('news/index');
4

2 回答 2

2

在尝试访问 User 对象之前,请检查以确保用户实际上已使用手册中指定的 Auth::check() 进行了身份验证。

if (Auth::check())
{
    // The user is logged in...
}
于 2013-08-02T20:59:15.173 回答
0

当用户未通过身份验证时,您无权访问“Auth::user()”,因此您需要以下内容:

public function get_index()
{
    if( ! Auth::guest() ) 
    {
        $roles = Auth::user()->type;

        return View::make('aac.index')
                ->with('newss', News::all())
                ->with('roles', $roles);
    }
    else 
    {
        return Redirect::to('login');
    }
}
于 2013-08-02T20:49:17.387 回答