所有人,谢谢。我解决了这个问题。问题的根源;
<a class="dropdown-item" href="{{ Auth::logout() }}">Çıkış Yap</a>
此代码行。 Auth :: logout()函数。没有人点击,但这有效。我会用这条路线。
我正在使用Laravel 7库。我从登录页面登录并转到主页。但是,当我刷新页面时,会话似乎已经结束。
因为我在刀片模板中使用@auth和@guest。对于菜单布局。
LoginController页面;
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = RouteServiceProvider::HOME;
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
HomeController
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
//$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
return view('home');
}
web.php
Auth::routes();
Route::get('/', 'HomeController@index')->name('home');
和这个layout.app.blade页面
@guest
<a class="dropdown-item" href="{{ route('login') }}">Giriş Yap</a>
<a class="dropdown-item" href="{{ route('register') }}">Hizmet Ver</a>
@endguest
@auth
<a class="dropdown-item" href="#">Profilim</a>
<a class="dropdown-item" href="{{ Auth::logout() }}">Çıkış Yap</a>
@endauth
希望您能理解我的意思。我正在登录,是的,菜单正常工作。但是刷新页面后,它似乎已注销。
答案 0 :(得分:1)
您正在Auth::logout()
块的第二个href
标记的<a>
中调用@auth
。每次刷新页面时,都会调用Auth::logout()
并将其从当前会话中注销。
请从此处删除Auth::logout()
并添加注销URL。它将起作用。
@auth
<a class="dropdown-item" href="#">Profilim</a>
<a class="dropdown-item" href="{{ route('logout') }}">Çıkış Yap</a>
@endauth