我是 PHP 和 Laravel 的新手。
我正在使用 Laravel 5.3 应用程序,我必须使用自定义网络服务来检查用户凭据,因此我尝试按照有关添加自定义提供程序的正式教程< / strong>处理用户访问权限:https://laravel.com/docs/5.3/authentication#adding-custom-user-providers。所以,理论上看起来很简单,但我发现了一些困难。
正如您在上一个教程中作为第一步所看到的,它修改了Laravel项目中包含的 App \ Providers \ AuthServiceProvider 类。
所以,我根据教程示例修改了 AuthServiceProvider ,获得了这个:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Auth;
use App\Extensions\RiakUserProvider;
use Illuminate\Support\ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
// CUSTOM CODE:
Auth::provider('riak', function ($app, array $config) {
// Return an instance of Illuminate\Contracts\Auth\UserProvider...
return new RiakUserProvider($app->make('riak.connection'));
});
}
}
问题在于它无法找到 App \ Extension 命名空间,这个:
use App\Extensions\RiakUserProvider;
PhpStorm用红色标记 Exstensions 说&#34; Undefined Extensions名称空间&#34; 所以它不能使用 RiakUserProvider 我的代码中的类。
为什么呢?我是否必须在Composer中添加一些依赖项?怎么了?我错过了什么?我该如何解决这个问题?
RiakUserProvider 类究竟是什么?
这段代码究竟是什么:
Auth::provider('riak', function ($app, array $config) {
// Return an instance of Illuminate\Contracts\Auth\UserProvider...
return new RiakUserProvider($app->make('riak.connection'));
});
答案 0 :(得分:2)
在Laravel文档中,<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_short_text"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
tools:text="short text" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_long_text"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="0.8"
android:textStyle="bold"
tools:text="a pretty long text" />
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.2"/>
</LinearLayout>
</LinearLayout>
类只是一个示例自定义用户提供程序。类位于RiakUserProvider
命名空间中,但未提供实际的提供程序类内容。
如果要创建自定义用户提供程序,则应在App\Extensions
文件夹中创建名为Extensions
的文件夹,并创建包含App
类的RiakUserProvider.php
文件。这遵循PSR-4类自动加载标准。
创建自己的用户提供商时,请确保它实现RiakUserProvider
界面。
这是一个很好的分步教程:创建一个:
https://www.georgebuckingham.com/blog/laravel-52-auth-custom-user-providers-drivers/