前提・実現したいこと
Auth::attempt($credentials)の処理を
通したい。
発生している問題
$credentialsの値 [2020-07-19 13:10:18] local.DEBUG: array ( 'admin_id' => 'admin', 'admin_pass' => 'admin', ) Auth::attempt($credentials) で処理をするがnullが返ってきます。
該当のソースコード
LoginController
1<?php 2//namespaceはdirectory配下のファイルを自動読み込みを行うことができるようにしています。 3namespace App\Http\Controllers\Admin; 4//laravelのコントローラーを継承する為 5use App\Http\Controllers\Controller; 6//管理者情報のデータを取得する為 7use App\Table\Admin\AdminInfo; 8//Admin 9use \App\Http\Requests\Admin\AdminLoginRequest; 10 11//hash処理 12use Illuminate\Support\Facades\Hash; 13//認証処理 14use Illuminate\Foundation\Auth\AuthenticatesUsers; 15use Illuminate\Support\Facades\Auth; 16use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; 17 18class LoginController extends Controller 19{ 20 /*ログイン画面*/ 21 public function loginAdmin() 22 { 23 return view('Admin/login'); 24 } 25 26 /*ログイン処理*/ 27 public function mainAdmin(AdminLoginRequest $request) 28 { 29 $admin_pass = AdminInfo::where('admin_id',$request->admin_id)->value('admin_pass'); 30 31 if (Hash::check($request->admin_pass, $admin_pass)) { //入力値, hash_pass 32 $credentials = $request->only('admin_id', 'admin_pass'); //管理者情報部分取得 33 34 if(Auth::attempt($credentials)){ 35 \Log::debug(Auth::attempt($credentials)); 36 \Log::debug('認証成功'); 37 38 return view('Admin/Main/main',compact('admin_id','admin_pass')); 39 //return redirect('/')->with('flash_message', '登録完了!'); 40 41 }else{ 42 \Log::debug('認証失敗'); 43 return redirect()->back(); 44 } 45 }else{ 46 //echo "password違います"; 47 } 48 } 49 50 /* 51 ログアウト処理 52 */ 53 public function logout(){ 54 // 55 \Log::debug('ログアウト OK!'); 56 Auth::logout(); 57 return redirect('/')->with('flash_message', 'ログアウト'); 58 } 59 60 /*管理者追加*/ 61 public function adminAdd() 62 { 63 return view('Admin/Admin/add'); 64 } 65 /*管理者追加完了*/ 66 public function adminAddComp(Request $request) 67 { 68 //userIdの取得 requestの値 69 $admin_id = $request['admin_id']; 70 $admin_pass = $request['admin_pass']; 71 $admin_name = $request['admin_name']; 72 $memo = $request['memo']; 73 74 $admin_pass = Hash::make($admin_pass); 75 76 $user_infos = AdminInfo::create(['admin_id' => $admin_id,'admin_pass' => $admin_pass,'admin_name' => $admin_name,'memo' => $memo]); 77 78 return view('Admin/Admin/comp',compact('admin_id','admin_pass','admin_name','memo')); 79 } 80} 81
Auth
1<?php 2 3return [ 4 5 //user情報とadmin情報 6 'defaults' => [ 7 'guard' => 'web', 8 'passwords' => 'admin_infos',//authの書き換え 9 ], 10 11 12 13 'guards' => [ 14 'web' => [ 15 'driver' => 'session', 16 'provider' => 'admin_infos', 17 ], 18 'api' => [ 19 'driver' => 'token', 20 'provider' => 'users', 21 'hash' => false, 22 ], 23 ], 24 25 26 27 'providers' => [ 28 'admin_infos' => [ 29 'driver' => 'eloquent', 30 'model' => App\Table\Admin\AdminInfo::class, 31 ], 32 ], 33 34 35 36 'admin_infos' => [ 37 'users' => [ 38 'provider' => 'users', 39 'table' => 'password_resets', 40 'expire' => 60, 41 'throttle' => 60, 42 ], 43 ], 44 45 'password_timeout' => 10800, 46 47];
login
1<!DOCTYPE html> 2<head> 3 <meta charset="utf-8"> 4 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> 5 <title>AdminLogin</title> 6</head> 7<body> 8 <h1>管理者ログイン</h1> 9 <form action="{{action('Admin\LoginController@mainAdmin')}}" method="post"> 10 @csrf 11 管理者ID: <input type="text" name="admin_id" value=""><br> 12 管理者パスワード:<input type="text" name="admin_pass" value=""><br> 13 @if($errors->has('admin_id')) 14 <span class="error">{{ $errors->first('admin_id') }}</span> 15 @elseif($errors->has('admin_pass')) 16 <span class="error">{{ $errors->first('admin_pass') }}</span> 17 @endif<br> 18 <input type="submit" value="ログイン"> 19 </form> 20</body>
web
1<?php 2 3use Illuminate\Support\Facades\Route; 4 5/* 6|-------------------------------------------------------------------------- 7| Web Routes 8|-------------------------------------------------------------------------- 9| 10| Here is where you can register web routes for your application. These 11| routes are loaded by the RouteServiceProvider within a group which 12| contains the "web" middleware group. Now create something great! 13| 14*/ 15 16// Route::get('/',function () { 17// return view('UserInfo/Public/info'); 18// }); 19/*login*/ 20Route::get('Admin/login','Admin\LoginController@loginAdmin'); 21 22/*main*/ 23Route::post('Admin/Main/main','Admin\LoginController@mainAdmin'); 24 25/*★AdminAdd*/ 26Route::post('Admin/Admin/add','Admin\LoginController@adminAdd'); 27 28/*★AdminAddcomp*/ 29Route::post('Admin/Admin/comp','Admin\LoginController@adminAddComp'); 30 31/*list*/ 32Route::get('Admin/UserInfo/info','Admin\AdminController@userList'); 33 34// /*edit*/ 35 //Route::get('Admin/UserInfo/Edit','Admin\AdminController@userEdit'); 36 Route::get('Admin/UserInfo/Edit','Admin\AdminController@userEdit'); 37// Route::get('Admin/UserInfo/Edit/{id}',function($id){ 38 39// }); 40/*edit_conf*/ 41Route::post('Admin/UserInfo/Edit/conf','Admin\AdminController@userEditConf'); 42 43/*edit_comp*/ 44Route::post('Admin/UserInfo/Edit/comp','Admin\AdminController@userEditComp'); 45 46/*add*/ 47Route::get('Admin/UserInfo/Add','Admin\UserAddController@userAdd'); 48 49/*Add_conf*/ 50Route::post('Admin/UserInfo/Add/conf','Admin\UserAddController@userAddConf'); 51 52/*Add_comp*/ 53Route::post('Admin/UserInfo/Add/comp','Admin\UserAddController@userAddComp'); 54 55/*User_Delete_Conf*/ 56Route::post('Admin/UserInfo/Delete/conf','Admin\UserDeleteController@userDeleteConf'); 57 58/*User_Delete_Conf*/ 59Route::post('Admin/UserInfo/Delete/comp','Admin\UserDeleteController@userDeleteComp');
試したこと
・ログでどのような値を取得されているか確認
・venderの確認
※attemptの元の処理がどうなっているのか?
・関数チェックや変数チェック
補足情報(FW/ツールのバージョンなど)
・Laravel version7
・mysql
・windows10
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/19 05:47 編集
2020/07/19 06:10 編集
2020/07/19 06:12
2020/07/19 09:32
2020/07/19 09:42
2020/07/19 22:34