使用 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()- …