duangai2831 2016-07-08 07:42
浏览 64

Laravel 5中的身份验证:根据用户类型将访问者重定向到不同的页面?

What I've been trying is to have the middleware do different tasks, based on the user's type.

Here is a Route group.

Route::group(array('prefix' => 'api', 'middleware' => 'admin'), function () {
    Route::resource('animal', 'AnimalController');
    //Other resources
});

My User model has 2 types, which can be accessed by the following way.

$this->user()->user_type_id;

Following this advice, I was trying this task, and the handle function in App\Http\Middleware\Authenticate looks like this right now.

 public function handle($request, Closure $next)
{
    if ($this->auth->guest()) {
        if ((Auth::user()->user_type_id == 2) {
            //If the user is of type 2, this will be triggered
            if ($request->ajax()) {
                return response('You are type 2.', 401);
            }
            //Maybe there are other libes here
        } else if ($request->ajax()) {
            return response('Unauthorized.', 401);
        } else {
            return redirect()->guest('auth/login');
        }
    }
    return $next($request);
}

I thought that this would lead the user of type 2 to get response('You are type 2.', 401), when the user visits a URL prefixed by api/animal, but I saw a message Unauthorized. in the response.

Is it possible to have the authentication middleware work in such a way? Any advice will be appreciated.

  • 写回答

1条回答 默认 最新

  • duangao7133 2016-07-08 08:26
    关注
    if ($this->auth->guest()) {
        if ($request->ajax()) {
            return response('Unauthorized.', 401);
        } else {
            return redirect()->guest('auth/login');
        }
    } else if ($this->user()->user_type_id == 2) {
        //If the user is of type 2, this will be triggered
        return response('You are type 2.', 401);
    }
    

    Try this.

    评论

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)