摘要:實(shí)現(xiàn)多用戶認(rèn)證多用戶認(rèn)證是版本以上的新特性,在中是沒有的。要想實(shí)現(xiàn)在中進(jìn)行多用戶認(rèn)證,則需要下載安裝包這里我們用的安裝包首先,在中引入然后,,等待下載完成。
laravel5.1實(shí)現(xiàn)多用戶認(rèn)證
多用戶認(rèn)證是laravel5.2版本以上的新特性,在laravel5.1中是沒有的。
要想實(shí)現(xiàn)在laravel5.1中進(jìn)行多用戶認(rèn)證,則需要下載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" ] ],
現(xiàn)在的auth.php中的內(nèi)容
[ "user" => [ "driver" => "eloquent", "model" => AppHttpModelsUser::class, "table" => "users" ] ], "password" => [ "email" => "emails.auth.password", "table" => "password_resets", "expire" => 60, ] ];Password Reset
如果要實(shí)現(xiàn)密碼重置,需要進(jìn)行以下操作
首先,打開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()
否則會(huì)提示
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"))) {
即可
轉(zhuǎn)載請(qǐng)注明出處
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/22547.html
摘要:目前支持的認(rèn)證有。英文不好的同學(xué)比如我,下面是中文文檔通過擴(kuò)展的,實(shí)現(xiàn)了很多第三方認(rèn)證。國內(nèi)的有微博微信豆瓣。至于和的具體值,這個(gè)是由新浪微博分發(fā)給你的,在新浪微博的授權(quán)回調(diào)頁中填寫。 前言 第三方登錄認(rèn)證能簡化用戶登錄/注冊(cè)的操作,降低用戶登錄/注冊(cè)的門檻,對(duì)提高應(yīng)用的用戶轉(zhuǎn)化率很有幫助。 Socialite Laravel 為我們提供了簡單、易用的方式,使用 Laravel Soc...
摘要:基于擴(kuò)展包實(shí)現(xiàn)的權(quán)限控制模塊遷移到其他項(xiàng)目中的方法大部分的項(xiàng)目中,都需要權(quán)限控制,我們的項(xiàng)目用的是的框架,基于擴(kuò)展包,寫了一個(gè)通用的權(quán)限控制模塊,方便后續(xù)其他項(xiàng)目需要時(shí)可用直接遷移使用。拷貝權(quán)限控制中間件。 Laravel5.1基于Entrust擴(kuò)展包實(shí)現(xiàn)的RBAC權(quán)限控制模塊(遷移到其他項(xiàng)目中的方法) 大部分的項(xiàng)目中,都需要權(quán)限控制,我們的項(xiàng)目用的是Laravel5.1的框架,基于E...
摘要:現(xiàn)在我們通過一個(gè)用戶登錄來講解一個(gè)事件,監(jiān)聽一個(gè)事件并觸發(fā)一些操作的全過程。首先,在中注冊(cè)事件與監(jiān)聽器之間的映射關(guān)系。在中,我們把用戶狀態(tài)分為,,根據(jù)登錄用戶的不同狀態(tài)來顯示出不同的內(nèi)容。 事件存在很多方面,比如登錄、購買商品、搜索、查看文章等等。 監(jiān)聽器監(jiān)聽到事件發(fā)生后,會(huì)執(zhí)行一些操作。Laravel使用觀察者模式來實(shí)現(xiàn)這種監(jiān)聽機(jī)制。 現(xiàn)在我們通過一個(gè)用戶登錄來講解一個(gè)事件,監(jiān)聽一個(gè)...
摘要:現(xiàn)在我們通過一個(gè)用戶登錄來講解一個(gè)事件,監(jiān)聽一個(gè)事件并觸發(fā)一些操作的全過程。首先,在中注冊(cè)事件與監(jiān)聽器之間的映射關(guān)系。在中,我們把用戶狀態(tài)分為,,根據(jù)登錄用戶的不同狀態(tài)來顯示出不同的內(nèi)容。 事件存在很多方面,比如登錄、購買商品、搜索、查看文章等等。 監(jiān)聽器監(jiān)聽到事件發(fā)生后,會(huì)執(zhí)行一些操作。Laravel使用觀察者模式來實(shí)現(xiàn)這種監(jiān)聽機(jī)制。 現(xiàn)在我們通過一個(gè)用戶登錄來講解一個(gè)事件,監(jiān)聽一個(gè)...
閱讀 1053·2023-04-25 17:51
閱讀 2858·2021-11-23 09:51
閱讀 1483·2021-11-08 13:21
閱讀 2457·2021-09-22 15:14
閱讀 1522·2019-08-30 12:48
閱讀 1086·2019-08-29 12:44
閱讀 1146·2019-08-26 12:21
閱讀 1403·2019-08-26 10:47