저는 laravel 5.3을 사용 중이며 Hesto/multi-auth 패키지를 사용하고 있습니다. 내 모든 home.blade가 정상적으로 작동하고 있습니다. 내 탐색 모음에서 현재 로그인 사용자를 반환합니다. 그러나 새로운보기를 만들 때마다 내 탐색 표시 줄을 확장 할 때마다 내 로그인 표시 줄에 사용자 이름 대신 "LOGIN REGISTER"가 표시됩니다.Laravel 5.3 Auth : user() : 사용자 대신 게스트로 로그인했습니다.
그래서 저는 home.blade에있을 때 성공적으로 사용자로 로그인했지만 다른보기로 이동하면 게스트로 읽습니다. 견본으로, 나는 나의 welcome.blade를 실험했다.
내 사용자 중 한 명이 내 경로입니다.
Route::group(['prefix' => 'customer', 'middleware' => 'customer'], function() {
Route::model('customer' , 'App\Customer');
Route::get('/login', 'CustomerAuth\[email protected]');
Route::post('/login', 'CustomerAuth\[email protected]');
Route::post('/logout', 'CustomerAuth\[email protected]');
Route::get('registration_form', function()
{
return view('customer/auth/registration_form');
});
Route::post("register_customer", 'CustomerAuth\[email protected]');
Route::post('/password/email',
'CustomerAuth\[email protected]');
Route::post('/password/reset', 'CustomerAuth\[email protected]');
Route::get('/password/reset', 'CustomerAuth\[email protected]');
Route::get('/password/reset/{token}', 'CustomerAuth\[email protected]');
});
내 kernel.php
protected $routeMiddleware = [
'business' => \App\Http\Middleware\RedirectIfNotBusiness::class,
'business.guest' => \App\Http\Middleware\RedirectIfBusiness::class,
'customer' => \App\Http\Middleware\RedirectIfNotCustomer::class,
'customer.guest' => \App\Http\Middleware\RedirectIfCustomer::class,
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
컨트롤러
공공 기능 showWelcome (고객 $ 고객) { 반환보기 ('환영'); }
public function showWelcome(Customer $customer)
{
return view('welcome');
}
public function __construct()
{
$this->middleware('customer');
}
protected function guard()
{
return Auth::guard('customer');
은이 경로는 사용자가 loggedIn가 Auth::check()
를 사용하는 경우 확인하려면 탐색 모음
@if (Auth::guest())
<li><a href="{{ url('/customer/login') }}">Login</a></li>
<li><a href="{{ url('/customer/registration_form') }}">Register</a></li>
@else
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="{{ url('/customer/logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
Logout
</a>
<form id="logout-form" action="{{ url('/customer/logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
</li>
</ul>
</li>
@endif
</ul>
아무 것도 표시되지 않습니다. – Ylla
사용자 테이블의 사용자 이름 열 이름은 무엇입니까? –
else 부분을 추가하면 게스트 사용자로 반환됩니다. 나는 {!!을 사용하고있다. auth() -> user() -> name!} – Ylla