Laravel - 身份验证重定向到带有 302 找到代码的页面

Posted

技术标签:

【中文标题】Laravel - 身份验证重定向到带有 302 找到代码的页面【英文标题】:Laravel - Authentication redirect to page with a 302 found code 【发布时间】:2017-03-31 08:24:30 【问题描述】:

我正在进行身份验证,登录后的页面重定向特定页面,但找到了 302 代码。并留在登录页面。 为什么会发生这种情况?

```

if ($validator->passes())
    $auth = DB::table('us')->where('username', '=', Input::get('username'))
      ->where('password', '=', Input::get('password'))->get()->first();
    // Try to log the user in.
    if ($auth)
        // Redirect to homepage
        //Auth::login($auth);
        Auth::attempt(['username' => $username, 'password' => $password], $remember);
        return Redirect::to('app/dashboard');
    
  
  else
    return Redirect::to('login')->withErrors($validator);
  

```

谢谢

【问题讨论】:

302 found 是一个返回码,用于告诉浏览器正在发生重定向,通常包含某种数据包来告诉浏览器重定向到哪个页面。重定向成功时应该会收到 200 OK 代码 那么为什么重定向不好呢? @Sub6Resources 我对 lavarel 不够熟悉,无法帮助您解决问题。对此感到抱歉。 【参考方案1】:
public function SignIn(Request $request)


      $this->validate($request,[
        'email' => 'required|email',
        'password' => 'required'
      ]);    
    if(Auth::attempt(['email'=>$request['email'],'password'=>$request['password']]))
        return redirect('app/dashboard');

      return redirect()->back();

这在 Laravel 5.2 中对我来说很好。并确保将它们导入到控制器中。

use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;

在我的route.php 我有关注,

Route::post('login',[
            'uses'=>'UserController@SignIn',
              'as'=>'login'
]);

【讨论】:

你把这段代码放到LoginController中了吗?在路由中您不需要向 /login 添加帖子? @Sachith @user3242861 我刚刚添加了我在route.php 和我的用户控制器中的所有内容。

以上是关于Laravel - 身份验证重定向到带有 302 找到代码的页面的主要内容,如果未能解决你的问题,请参考以下文章

从 Chrome 重定向到带有位置标头的 302 后被阻止的 Android 应用

Laravel 5.4 POST 到 API 重定向 302 而不是返回验证错误

Laravel Fortify 自定义身份验证重定向

无法在 ajax 中处理 302 重定向,为啥? [复制]

Laravel 5.5 - 升级身份验证后没有正确重定向

Laravel - 具有多重身份验证的未经身份验证的重定向问题