如何在 Laravel 5.2 中使用不同的數據庫表列名登錄
php問題
html5模板網
How to get login with different database table column name in Laravel 5.2?(如何在 Laravel 5.2 中使用不同的數據庫表列名登錄?)
本文介紹了如何在 Laravel 5.2 中使用不同的數據庫表列名登錄?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我必須在 Laravel 5.2 中實現登錄功能.我已經使用官方 Laravel 文檔成功地做到了這一點,只是我不知道如何使用不同的數據庫表列名稱來驗證用戶,即 st_username
和 st_password
.
我已經在互聯網上搜索了線索,但無濟于事.我不知道我需要使用哪個類(例如,使用 Illuminate ......)進行身份驗證.如果有人知道答案,請告訴我.
這是我的代碼:
登錄查看
@extends('layouts.app')@section('內容')<div class="contact-bg2"><div class="容器"><div class="booking"><h3>登錄</h3><div class="col-md-4 booking-form" style="margin: 0 33%;"><form method="post" action="{{ url('/login') }}">{!!csrf_field() !!}<h5>用戶名</h5><input type="text" name="username" value="abcuser"><h5>密碼</h5><input type="password" name="password" value="abcpass"><input type="submit" value="登錄"><輸入類型=重置"值=重置"></表單>
<div></div>@endsection
授權控制器
命名空間 AppHttpControllersAuth;使用 AppUser;使用驗證器;使用 AppHttpControllersController;使用 IlluminateFoundationAuthThrottlesLogins;使用 IlluminateFoundationAuthAuthenticatesAndRegistersUsers;類 AuthController 擴展控制器{使用 AuthenticatesAndRegistersUsers、ThrottlesLogins;受保護的 $redirectTo = '/home';公共函數 __construct(){$this->middleware('guest', ['except' => 'logout']);$this->username = 'st_username';$this->password = 'st_password';}受保護的函數驗證器(數組 $data){返回 Validator::make($data, ['名稱' =>'需要|最大:255','電子郵件' =>'required|email|max:255|unique:users','密碼' =>'需要|確認|分鐘:6',]);}
路由文件
Route::get('/', function () {返回視圖('索引');});Route::group(['middleware' => 'web'], function () {路線::認證();Route::get('/home', 'HomeController@index');});
config/auth.php
返回 ['默認' =>['守衛' =>'網絡','密碼' =>'用戶',],'守衛' =>['網絡' =>['司機' =>'會議','提供者' =>'用戶',],'api' =>['司機' =>'令牌','提供者' =>'用戶',],],'提供者' =>['用戶' =>['司機' =>'雄辯','模型' =>應用用戶::類,],//'用戶' =>[//'司機' =>'數據庫',//'表' =>'用戶',//],],'密碼' =>['用戶' =>['提供者' =>'用戶','電子郵件' =>'auth.emails.password','表' =>'密碼重置','過期' =>60,],],];
解決方案
我搜索了很多如何自定義 Laravel 5.2 授權表單,這 100% 對我有用.這是從下到上的解決方案.
此解決方案最初來自此處:https://laracasts.com/discuss/channels/laravel/replacing-the-laravel-authentication-with-a-custom-authentication
但我必須進行一些更改才能使其正常工作.
我的網絡應用程序是為 DJ 而設計的,所以我的自定義列名稱帶有dj_",例如名稱是 dj_name
config/auth.php
//改變這個'司機' =>'雄辯',//到這個'司機' =>'風俗',
在 config/app.php 中將您的自定義提供程序添加到列表中...
'providers' =>[...//將此添加到其他提供者的底部AppProvidersCustomAuthProvider::class,...],
在文件夾 appProviders 中創建 CustomAuthProvider.php
命名空間 AppProviders;使用 IlluminateSupportFacadesAuth;使用 AppProvidersCustomUserProvider;使用 IlluminateSupportServiceProvider;類 CustomAuthProvider 擴展了 ServiceProvider {/*** 引導應用程序服務.** @return 無效*/公共函數引導(){Auth::provider('custom', function($app, array $config) {//返回 IlluminateContractsAuthUserProvider 的一個實例...return new CustomUserProvider($app['custom.connection']);});}/*** 注冊應用服務.** @return 無效*/公共函數 register(){/
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!