在Sentry 2中试图扩展哨兵课时遇到了一些问题。这就是我所做的以及我想做的事情:
创建了一个新的外观:
namespace pusers; use Illuminate\Support\Facades\Facade; class ADSentryFacade extends Facade { /** * Get the registered name of the component. * * @return string */ protected static function getFacadeAccessor() { return 'pusers\adsentry'; } }
延长了哨兵类(所有使用的名称空间都被移除,以便在帖子中清理它)。显然还有很多东西只是为了让它在这一点上起作用:
namespace pusers; class ADSentry extends \Cartalyst\Sentry\Sentry { public function authenticate(array $credentials, $remember = false, $adUser = false) { return (string)$this->throttleProvider->isEnabled(); } }
在app.php内部,我更改了别名:
'Sentry' => 'Cartalyst\Sentry\Facades\Laravel\Sentry'
到
'Sentry' => 'pusers\ADSentryFacade'
问题: 当我使用我的别名时,除了实际的Sentry类启动之外几乎没什么。因此,您可以看到我正在尝试查看是否启用了限制。使用我的别名(总是返回true)它不使用config.php文件,但如果我将其更改为使用普通别名,它就可以正常工作(返回false,因为我在配置中将其设置为false)。
有关我做错的任何提示?我找不到任何人试图扩展实际的Sentry类。我发现的唯一的事情是在哨兵2论坛上,其中一个管理员建议有人创建一个新的外观,然后扩展Sentry,但就是这样。
我能提供的任何其他信息只是让我知道需要什么。 谢谢!
答案 0 :(得分:0)
好好想通了,在cartalyst频道中得到了足够多的指针!
我继续创建了一个服务提供商。将应用名称从哨所更改为adsentry。然后在我的门面我把它从'pusers \ adsentry'改为'adsentry',这就是诀窍!