参考:http://www./archives/96 Laravel的auth身份验证只支持一张表,如果项目中有多个角色存储在不同表中,比如users admins,就有些不足了,所以需要进行扩展,学的不深,我也无能为力,但是国外网友有解决方案,并共享在github上。 https://github.com/ollieread/multiauth 按这名老外的说法,这个解决方案并不会替换Laravel本身的auth库,只是介于auth库和你的代码之间的一个工厂类,废话不多说,看下怎么安装使用 安装 1.先备份的你的代码 这个不多说,如果你不想在出错后悲剧的话。 2.打开根目录下的composer.json,加入你要安装的包: "require": {"ollieread/multiauth": "dev-master"}
3.安装 composer update 4.打开app/config/app.php 修改 AuthServiceProvider的配置 Illuminate\Auth\AuthServiceProvider 改成 Ollieread\Multiauth\MultiauthServiceProvider 使用 1.修改app/config/auth.php return array( 'driver' => 'eloquent', 'model' => 'User', 'table' => 'users', 'reminder' => array( 'email' => 'emails.auth.reminder', 'table' => 'password_reminders', 'expire' => 60, ), ); 替换成 return array( 'multi' => array( 'account' => array( 'driver' => 'eloquent', 'model' => 'Account' ), 'user' => array( 'driver' => 'database', 'table' => 'users' ) ), 'reminder' => array( 'email' => 'emails.auth.reminder', 'table' => 'password_reminders', 'expire' => 60, ), ); 2.使用方法 Auth::account()->attempt(array( 'email' => $attributes['email'], 'password' => $attributes['password'], )); Auth::user()->attempt(array( 'email' => $attributes['email'], 'password' => $attributes['password'], )); Auth::account()->check(); Auth::user()->check(); |
|
来自: 阿亮love > 《laravel5》