sebwas/multi-model-authentication

此包已 弃用 且不再维护。未建议替代包。

laravel 认证方法的修改,以支持多模型认证

dev-master 2015-11-07 13:57 UTC

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() 方法,该方法本身返回一个有效的完全限定类名。