2016-06-16 8 views
0

Ich versuche, eine Anmeldung nach der korrekten Validierung der gesendeten Daten zu machen. Validierung funktioniert ordnungsgemäß, aber wenn ich versuche, mich anzumelden, gibt immer false zurück. das könnte falsch sein?konfigurieren und konfigurieren Laravel Auth

vielen Dank.

Usercontroller:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Support\Facades\Auth; 
use Illuminate\Http\Request; 
use Validator; 
use App\Http\Controllers\Controller; 
use App\Http\Requests; 
use App\Modals\Users as user; 


class UserController extends Controller 
{ 
    public function index() 
    { 
     return view('home'); 
    } 

    /** 
    * @param Request $request 
    * @return \Illuminate\Http\JsonResponse 
    */ 
    public function NewUser(Request $request) 
    { 
     $validator= Validator::make($request->all(),[ 

      'name' => 'required|max:255', 
      'email' => 'required|email|max:255|unique:users', 
      'password' => 'required|min:1', 
      'cpassword'=> 'required||same:password', 

     ]); 

     if($validator->fails()){ 
      return response()->json([ 
       'success' => false, 
       'error' => $validator->errors()->toArray() 
      ]); 


     }else{ 

      return $this->CreateUser($request); 


     } 

    } 


    /** 
    * @param Request $request 
    * @return \Illuminate\Http\JsonResponse 
    */ 
    private function CreateUser(Request $request){ 

     $user = new User; // was $user = new NewUser(); 
     $user->name = $request->name; 
     $user->email = $request->email; 
     $user->password = $request->password; // was $user->passwosrd = $requestt->password 
     $user->remember_token = $request->_token; 
     $user->save(); 

     if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) 
     { 

      return response()->json([ 
       'success' => true 
      ]); 
     }else 

     { 
      return response()->json([ 

       'success' => false, 
       'error' => 'not login' 

      ]); 
     } 



    } 

Auth.php

<?php 

return [ 

    'providers' => [ 
     'users' => [ 
      'driver' => 'eloquent', 
      'model' => App\Modals\Users::class, 
     ], 

     'users' => [ 
      'driver' => 'database', 
      'table' => 'users', 
     ], 
    ], 



]; 

modal:

<?php 

namespace App\Modals; 

use Illuminate\Auth\Authenticatable; 
use Illuminate\Database\Eloquent\Model; 
use Illuminate\Auth\Passwords\CanResetPassword; 
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; 
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; 

class Users extends Model implements AuthenticatableContract, CanResetPasswordContract 
{ 

    use Authenticatable, CanResetPassword; 

    protected $table = 'users'; 

} 
+0

In * aut h.php * lege alles in einen "Benutzer" Schlüssel, dein zweiter könnte den ersten überschreiben. – TheFallen

Antwort

1

Versuchen Sie folgendes:

$user = new User; // was $user = new NewUser(); 
$user->name = $request->get('name'); 
$user->email = $request->get('email'); 
$user->password = \Hash::make($request->get('password')); 
$user->remember_token = $request->get('_token'); //but why are you storing this? 
$user->save(); 



if (Auth::attempt(['email' => $request->get('email'), 'password' => $request->get('password')])) 
{ 
    return response()->json([ 
     'success' => true 
    ]); 
}else{ 
    return response()->json([ 
     'success' => false, 
     'error' => 'not login' 
    ]); 
}