sebwas / multi-model-authentication
laravel 认证方法的修改,以支持多模型认证
Requires
- illuminate/auth: 5.1.*
This package is not auto-updated.
Last update: 2019-02-20 18:45:43 UTC
README
实现多模型认证的方法,这意味着从用于认证的派生基类中存在某些装饰类。
使用方法
使用方法相对简单,基本上意味着激活正确的 Service Provider 并设置 基础模型。
激活
在 config/app.php
中设置 \SebWas\MultiModelAuthentication\AuthServiceProvider
而不是默认的,同时设置正确的别名 Auth => SebWas\MultiModelAuthentication\Facades\Auth::class
。
模型
所有应该作为用户使用的派生模型都必须实现 \SebWas\MultiModelAuthentication\ConsumingModel
接口以设置一切。您还可以使用 \SebWas\MultiModelAuthentication\ConsumesModel
特性,它也提供了某些方便的功能。
在 $this->app['config']['auth.model']
下的模型必须实现 \SebWas\MultiModelAuthentication\ProvidingModel
接口,这使得必须定义 modelColumn()
方法,该方法应该告诉驱动程序使用哪个数据库列来获取正确的模型。
作为另一种选择,基础模型 可以实现 \SebWas\MultiModelAuthentication\ProvidingModelAndAlias
接口,这使得它除了第一个接口外,还必须实现一个 modelAlias()
方法,该方法可以返回一个数组,该数组包含 modelColumn()
应使用的别名,以确定要使用哪个模型。
作为第三种选择,您可以使用 \SebWas\MultiModelAuthentication\SelfResolvingModel
接口,这需要实现一个 resolveModel()
方法,该方法本身返回一个有效的完全限定类名。