Thi*_*aru 0 authentication laravel-5
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
use App\Classes\DynamicMenu;
use App\Http\Controllers\WelcomeController;
use Auth;
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
dd(Auth::user());
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说返回“null”,但其他控制器返回用户详细信息。如何解决这个问题?
为什么?
这是因为,当boot调用服务提供者的方法时,用户还没有被认证。
解决方案:
我猜您正在尝试使用View Composers
从文档中:
那么,如果我们需要在我们的服务提供商中注册视图编辑器怎么办?这应该在 boot 方法中完成。在注册所有其他服务提供者之后调用此方法,这意味着您可以访问框架已注册的所有其他服务:
所以你可以使用以下内容:
public function boot(Guard $auth) {
view()->composer('*', function($view) use ($auth) {
$user = $auth->user();
// other application logic...
$view->with('currentUser', $user);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1276 次 |
| 最近记录: |