在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但就是这样 .
我能提供的任何其他信息只是让我知道需要什么 . 谢谢!
1 回答
好吧想通了,在cartalyst Channels 中得到了足够的指针!
我继续创建了一个服务提供商 . 将应用名称从哨所更改为adsentry . 然后在我的门面,我将它从'pusers \ adsentry'更改为'adsentry',这就是诀窍!