2016-06-16 15 views
2

unauthorized pageLaravel nicht autorisierte Seite, wenn Ajax Anfrage senden

Ich mache webbasiertes Spiel. Das Spiel muss sich zuerst einloggen, also benutze ich wie gewohnt laravel auth :: register und auth :: login und füge Middleware-Auth zu jeder Seite hinzu außer Login-Seite &. Dann überprüfen Sie den Spielstatus mit smartupdater wenn bereit oder nicht.

$("section").smartupdater({ 
    url  : urlCheckStatus, 
    data  : data, 
    dataType : 'json', 
    minTimeout: 2000 
}, function(response){ 
    var gameStatus = response.data.status; 

    if(gameStatus === 'start') 
    { 
     gameOn(); 
    } 
    else if(gameStatus === 'active') 
    { 
     pleaseWait(); 
    } 
    else if(gameStatus === 'stop') 
    { 
     backToMenu(); 
    } 
}); 

Register und Login Funktion

public function register(Request $request) 
{ 
    $name = $request->input('username'); 

    $user = new User; 
    $user->name  = $request->input('username'); 
    $user->email = $name.'@abc.com'; 
    $user->password = bcrypt(Carbon\Carbon::now()); 
    $user->grade = $request->input('grade'); 
    $user->numb  = $request->input('numb'); 
    $user->save(); 

    Auth::login($user, true); 

    return redirect('menu'); 
} 

Check Spielstatus Funktion

public function checkGameStatus() 
{ 
    $game_id = Request::input('game_id'); 
    $data = Game::find($game_id); 

    return response()->json([ 
     'data' => $data 
    ]); 
} 

Aber manchmal war ich geworfen zur Login-Seite, weil Fehler 401 Unauthorized. Versuchen, Protokoll wie das Bild oben zu loggen.

Dank

+0

Können Sie Code anzeigen, wie Sie sich anmelden und die Benutzer registrieren? – TheFallen

+1

Und können Sie uns zeigen, was die Antwort von Ihnen Ajax Anruf ist. –

+0

@thefallen dieses Spiel ist einfach, ich brauche nur ihren Namen zu speichern, um db und ihren Namen leicht aus db. –

Antwort

0

Ich sehe Sie verwenden Javascript für die Autorisierung mit Laravel, wie pro Laravel Dokumentation für die API-Authentifizierung mit Javascript:

Wenn Sie einen anderen JavaScript-Framework verwenden, sollten Sie machen sicher Es ist so konfiguriert, dass es die Header X-CSRF-TOKEN und X-Requested-With mit jeder ausgehenden Anfrage sendet.

Können Sie sicherstellen, dass X-CSRF-TOKEN und X-Requested-With in Ihren Kopfzeilen immer vorhanden sind.