Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php认为我没有被授权?_Php_Ajax_Laravel_Laravel 5.1 - Fatal编程技术网

Php认为我没有被授权?

Php认为我没有被授权?,php,ajax,laravel,laravel-5.1,Php,Ajax,Laravel,Laravel 5.1,因此,我对正在登录的控制器进行了一个ajax调用,我知道这是可行的,因为Auth::check($user)和返回的cookie数据,例如laravel会话cookie 然而,我的问题在于我的routes.php,我仍然无法访问仅授权的页面,并继续点击welcome视图 My routes.php: use App\punsmodel; use Illuminate\Http\Request; Route::post('google' , [ 'as' => 'verify.index

因此,我对正在登录的控制器进行了一个ajax调用,我知道这是可行的,因为
Auth::check($user)
和返回的cookie数据,例如laravel会话cookie

然而,我的问题在于我的
routes.php
,我仍然无法访问仅授权的页面,并继续点击
welcome
视图

My routes.php:

use App\punsmodel;
use Illuminate\Http\Request;

Route::post('google' ,  [
'as' => 'verify.index',
'uses' => 'verify@verifyIdToken'
]);

if (Auth::guest()) {
    Route::get('/', function () {
        return view('welcome');
    });
} else {
    Route::group(['middleware' => 'auth'], function () {
        Route::get('/', function ()    {
           return view('mainview');
        });

         Route::get('mainview', function ()    {
           return view('mainviewMolly');
        });
    });
}
我的控制器:

namespace App\Http\Controllers;
use App\Email;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Google_Client; 
use Auth;
use App\User;
class verify extends Controller
{

    public function verifyIdToken(Request $request)
    {
         $user = User::where('name', 'Molly')->first();
         Auth::login($user);
         if (Auth::check($user))
         {
             return response()->json(['Logged In' => "Yes!"]);
         }
    }
}
因此,我向上面的控制器发出了一个ajax请求,当我得到一个json响应说我已登录时,它就起作用了,但是当我刷新主页时,我仍然会得到欢迎页面,而不是
mainview
。为什么会这样

我的ajax请求:

    $.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});
$.ajax({
  method: "POST",
  url: "http://mysite.come/google",
  data: { email: profile.getEmail(),
     id: id_token }
}).done(function() {
       $("#google").text("You Are Indeed Who I Thought You Were! :)");
     }).fail(function() {
       $("#google").text("You Are Not Who I Thought You Were, Please Go Away!");
       setTimeout(function() {
         window.location = "https://en.wikipedia.org/wiki/Special:Random";
       //}, 4000);
       }, 9999999000);
     })

你能把你的JS ajax调用放进去吗?@PeterPan666 done!:)我认为实际上不建议在路由范围之外检查经过身份验证的会话-最好在路由范围内进行。一个简单的
返回视图(Auth::check()?'mainview':'welcome')
应该就足够了。你能调用JS ajax吗?@PeterPan666 done!:)我认为实际上不建议在路由范围之外检查经过身份验证的会话-最好在路由范围内进行。一个简单的
返回视图(Auth::check()?'mainview':'welcome')
就足够了。