この問題を解決しようとしているのは約13時間ですが、うまくいきません。Entrustを使用して Laravel 5.3 をセットアップしました。正常に動作していました。ユーザーがアクセスしようとしているページへのアクセス許可を持っているかどうかを確認するために、コントローラーに条件を設定しました。そうでない場合は、ホームページにリダイレクトします。それも正常に機能していましたが、リフレッシュしてブラウジングした後、奇妙な誤動作が発生しました-すべてがホームページに移動します(例:http://mysite.dev/)。認証ページのみが問題ありません (ログイン/登録など)。
確認のために、そのコントローラーから認証チェックを削除しましたが、うまくいきません。次に、ミドルウェア「auth」を削除しましたが、リダイレクトは同じです。とても奇妙です:(いくつかのコードを以下に示します-
ルート/web.php
Auth::routes();
Route::group(['middleware' => ['auth']], function() {
Route::get('/user/view-profile', 'HomeController@profile')->name('profile');
Route::get('/logout', 'HomeController@logout');
Route::get('/accounts-groups/list-accounts-groups', 'HomeController@listAccountsGroups');
Route::get('/', 'HomeController@index')->name('landing');
});
app/Http/Controllers/Controller.php
use AuthorizesRequests,
DispatchesJobs,
ValidatesRequests;
app/Http/Controllers/HomeController.php
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('home');
}
public function profile()
{
return "Profile Page";
}
public function listAccountsGroups()
{
return "Group Listing";
}
public function logout()
{
Auth::logout();
return redirect()->route('landing');
}
これは私の最初のプロジェクトなので、学習と実行を行っていますが、ここで立ち往生しています...