【问题标题】:Redirect auth controller?重定向身份验证控制器?
【发布时间】:2015-08-03 19:02:31
【问题描述】:

我在 Laravel 中使用 Auth 控制器和 auth 中间件。

如果用户没有登录,它会重定向到:

auth/login

但我希望重定向到不同的网址。

我的身份验证控制器中有这个:

protected $loginPath = '/cms/login';
protected $redirectTo = '/cms';

但它仍然重定向到:

auth/login

如何重定向身份验证控制器?

【问题讨论】:

    标签: laravel laravel-5 laravel-5.1


    【解决方案1】:

    您未登录时的重定向路径在身份验证中间件中处理,该中间件位于app/Http/Middleware/Authenticate.php

    【讨论】:

      【解决方案2】:

      重定向将由中间件处理。因此,将 auth 中间件中的 handle() 方法下的重定向更改如下:

          /**
       * Handle an incoming request.
       *
       * @param  \Illuminate\Http\Request  $request
       * @param  \Closure  $next
       * @return mixed
       */
      public function handle($request, Closure $next)
      {
          if ($this->auth->guest())
          {
              if ($request->ajax())
              {
                  //return response('Unauthorized.', 401);
      
              }
              else
              {
                  //return redirect()->guest('auth/login');
                    return redirect()->guest('cms/login');
              }
          }
      
          return $next($request);
      }
      

      【讨论】:

        猜你喜欢
        • 2015-12-13
        • 1970-01-01
        • 2012-05-01
        • 2018-08-09
        • 1970-01-01
        • 1970-01-01
        • 2012-12-23
        • 1970-01-01
        • 2019-06-01
        相关资源
        最近更新 更多