使用 Laravel 建站过程中我遇到了不同身份验证 (Multi-Auth) 的需求,我有一个用户身份验证管理,同时还有一个管理员身份验证管理,可惜 Laravel 本身不支持多身份验证,不过我还是找到了解决方案,那就是 ollieread/multiauth
安装
使用 Composer 安装,在 composer.json
里面添加依赖:
1 | "require": { |
然后 composer update
或 composer install
安装完成在 app/config/app.php
里 'providers'
找到 AuthServiceProvider
替换,这很重要,因为你要做的就是替换掉默认的单种身份认证为支持多种身份认证:
1 | 'providers' => array( |
接下来还得把 app/config/auth.php
改为 multiauth
支持的形式, 原来的 auth.php
:
1 | return array( |
修改后的 auth.php
:
1 | return array( 'multi' => array( 'account' => array( 'driver' => 'eloquent', 'model' => 'Account' ), 'user' => array( |
Reminders
这个我用不上,感兴趣去 Multiauth 查看
使用
非常简单,比如把 Auth::check()
换为 Auth::user()->check()
即可:
Auth::get()
->Auth::admin()->get()
Auth::attempt()
->Auth::user()->attempt()
Auth::logout()
->Auth::user()->logout()
- …