2016-06-16 23 views
0

送信したデータの正しい検証を行った後にログインしようとしています。 検証は正しく動作しますが、ログインしようとすると常にfalseが返されます。間違っている可能性がありますか?laravel authを設定して設定します

ありがとうございます。

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', 
     ], 
    ], 



]; 

モーダル:

<?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

h.php *すべてを1つの 'users'キーに入れてください。あなたの2番目のものは最初のものを上書きするかもしれません。 – TheFallen

答えて

1

はこれを試してみてください:* AUTで

$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' 
    ]); 
} 
関連する問題