【问题标题】:How can I do equivalent to actingAs() when not using Laravel Auth不使用 Laravel Auth 时,我如何做相当于 actingAs()
【发布时间】:2019-01-19 08:51:32
【问题描述】:

我找到的所有文档都引用了 Laravel 助手 actingAs(),但这需要我使用 Laravel 的原生 Auth 包,并且我使用的是 Cartalyst 的 Sentinel,因此不能使用 actingAs()

有没有人找到解决这个问题的方法?

【问题讨论】:

    标签: laravel unit-testing cartalyst-sentinel


    【解决方案1】:

    可以使用 Sentinel 门面的login 方法。

    $user = Sentinel::getUserById(1);
    $rememberMe = true;
    Sentinel::login($user, $rememberMe);
    

    你也可以使用 Sentinel 门面的setUser 方法。请注意,这不会让用户登录。

    $user = Sentinel::getUserById(1);
    Sentinel::setUser($user);
    

    【讨论】:

    • 如何将存储库结果与actingAs()一起使用?我的错误是传递给 Illuminate\Foundation\Testing\TestCase::actingAs() 的参数 1 必须实现接口 Illuminate\Contracts\Auth\Authenticatable,给出 Illuminate\Database\Eloquent\Collection 的实例,
    猜你喜欢
    • 1970-01-01
    • 2019-10-24
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 2018-11-30
    • 1970-01-01
    • 2021-10-24
    相关资源
    最近更新 更多