當我試圖進入主頁時,我一次又一次地面臨登錄頁面。我沒有在主頁路線上添加任何中間件,但我仍然面臨這個問題。
我的登錄控制器
protected $redirectTo = '/'/span>;
public function __construct()
{
$this->中間件('guest')->除了('logout')。
}
public function redirectToProvider(>/span>)
{
return Socialite::driver(request()->provider)->redirect()。
}
public function handleProviderCallback(/span>)
{
$provider = request()->provider。
$providerUser = Socialite::driver($provider)->user()。
if($providerUser->getEmail() == null) {
$user = User::where($provider . '_id', $providerUser->getId())-> first()。
} else {
$user = User::where('email', $providerUser-> getEmail())-> first();
}
if($user && $user->$provider . '_id' == null) {
dd('test');
$user-> update([$provider . '_id' => $providerUser->getId()])。)
}
if(!$user) {
$user = User::create([
'email' => $providerUser->getEmail()。
'name' => $providerUser->getName()。
$provider . '_id' => $providerUser->getId()。
]);
}
auth()->login($user, true)。
return redirect($this-> redirectTo)。
//$user->token;。
}
public function showLoginForm()
{
session()->put('previousUrl', url()->previous())。
return view('auth.login')。
}
public function redirectTo()
{
return str_replace(url('/'/span>), ''/span>, session()-> get('previousUrl', '/'))。
}
我不知道問題是在控制器還是在路由。
路由
Route::get('/', 'WelcomePageController@index')->name('welcome') 。
Auth::routes()。
Route::get('/login/{provider}', 'AuthLoginController@redirectToProvider')。
Route::get('/login/{provider}/callback', 'AuthLoginController@handleProviderCallback')。
我只有在登錄后才能訪問主頁,但我想以訪客身份看到它。
uj5u.com熱心網友回復:
主頁路線是受保護的,你可以在HomeController的構造方法中看到這一點。要使它不被保護,請嘗試注釋constrct方法中的那一行。 為了防止在主頁視圖中出現錯誤,你也必須編輯這個視圖。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/329563.html
標籤:
上一篇:我可以使用一個Python程式并使用tkinter將其轉換為一個gui嗎?
下一篇:如何為不同的用戶顯示不同的界面?
