Php认为我没有被授权?
因此,我对正在登录的控制器进行了一个ajax调用,我知道这是可行的,因为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
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')
就足够了。