摘要:實現多用戶認證多用戶認證是版本以上的新特性,在中是沒有的。要想實現在中進行多用戶認證,則需要下載安裝包這里我們用的安裝包首先,在中引入然后,,等待下載完成。
laravel5.1實現多用戶認證
多用戶認證是laravel5.2版本以上的新特性,在laravel5.1中是沒有的。
要想實現在laravel5.1中進行多用戶認證,則需要下載multiple auth 安裝包
這里我們用 /Kbwebs/MultiAuth的安裝包
首先,在composer.json 中引入kbwebs/multiauth
"require": { "kbwebs/multiauth": "~1.0" }
然后,compoer update,等待下載完成。
Authentication首先,打開config/app.php,替換AuthServiceProvider 一行
IlluminateAuthAuthServiceProvider::class -> KbwebsMultiAuthAuthServiceProvider::class
然后,打開config/auth.php,將下面的
"driver" => "eloquent" "model" => AppUser::class, "table" => "users"
替換成
"multi-auth" => [ "admin" => [ "driver" => "eloquent", "model" => AppHttpModelsAdmin::class, "table" => "users" ], "user" => [ "driver" => "eloquent", "model" => AppHttpModelsUser::class, "table" => "users" ] ],
現在的auth.php中的內容
[ "user" => [ "driver" => "eloquent", "model" => AppHttpModelsUser::class, "table" => "users" ] ], "password" => [ "email" => "emails.auth.password", "table" => "password_resets", "expire" => 60, ] ];Password Reset
如果要實現密碼重置,需要進行以下操作
首先,打開config/app.php
替換 IlluminateAuthPasswordsPasswordResetServiceProvider::class
為 KbwebsMultiAuthPasswordResetsPasswordResetServiceProvider::class
在AppHttpModelsUser.php中
將
use IlluminateAuthPasswordsCanResetPassword;
use IlluminateContractsAuthCanResetPassword as CanResetPasswordContract;
替換成
use KbwebsMultiAuthPasswordResetsCanResetPassword;
use KbwebsMultiAuthPasswordResetsContractsCanResetPassword as CanResetPasswordContract;
重新生成password_resets表
php artisan kbwebs:multi-auth:create-resets-table
php artisan migrate
獲取登錄用戶的信息
Auth::user()->get();
或者
Auth::user()->get()->role;
Note:凡是有Auth::的地方都需要修改為Auth::user()
否則會提示
ErrorException in EloquentUserProvider.php line 112:
Undefined index: password
找到AuthenticatesUsers.php
將50行中的
if (Auth::attempt($credentials, $request->has("remember"))) {
修改為
if (Auth::user()->attempt($credentials, $request->has("remember"))) {
即可
轉載請注明出處
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22547.html
摘要:目前支持的認證有。英文不好的同學比如我,下面是中文文檔通過擴展的,實現了很多第三方認證。國內的有微博微信豆瓣。至于和的具體值,這個是由新浪微博分發給你的,在新浪微博的授權回調頁中填寫。 前言 第三方登錄認證能簡化用戶登錄/注冊的操作,降低用戶登錄/注冊的門檻,對提高應用的用戶轉化率很有幫助。 Socialite Laravel 為我們提供了簡單、易用的方式,使用 Laravel Soc...
摘要:基于擴展包實現的權限控制模塊遷移到其他項目中的方法大部分的項目中,都需要權限控制,我們的項目用的是的框架,基于擴展包,寫了一個通用的權限控制模塊,方便后續其他項目需要時可用直接遷移使用。拷貝權限控制中間件。 Laravel5.1基于Entrust擴展包實現的RBAC權限控制模塊(遷移到其他項目中的方法) 大部分的項目中,都需要權限控制,我們的項目用的是Laravel5.1的框架,基于E...
摘要:現在我們通過一個用戶登錄來講解一個事件,監聽一個事件并觸發一些操作的全過程。首先,在中注冊事件與監聽器之間的映射關系。在中,我們把用戶狀態分為,,根據登錄用戶的不同狀態來顯示出不同的內容。 事件存在很多方面,比如登錄、購買商品、搜索、查看文章等等。 監聽器監聽到事件發生后,會執行一些操作。Laravel使用觀察者模式來實現這種監聽機制。 現在我們通過一個用戶登錄來講解一個事件,監聽一個...
摘要:現在我們通過一個用戶登錄來講解一個事件,監聽一個事件并觸發一些操作的全過程。首先,在中注冊事件與監聽器之間的映射關系。在中,我們把用戶狀態分為,,根據登錄用戶的不同狀態來顯示出不同的內容。 事件存在很多方面,比如登錄、購買商品、搜索、查看文章等等。 監聽器監聽到事件發生后,會執行一些操作。Laravel使用觀察者模式來實現這種監聽機制。 現在我們通過一個用戶登錄來講解一個事件,監聽一個...
閱讀 1037·2023-04-25 17:51
閱讀 2852·2021-11-23 09:51
閱讀 1470·2021-11-08 13:21
閱讀 2428·2021-09-22 15:14
閱讀 1515·2019-08-30 12:48
閱讀 1076·2019-08-29 12:44
閱讀 1138·2019-08-26 12:21
閱讀 1396·2019-08-26 10:47