🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1384閲覧

[Laravel / Redirect] ある画面で確認させた後に、他のURLにアクセスできるような実装をする方法

komo_ta

総合スコア275

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/11/13 19:25

#はじめに
現在Laravelを使用して開発中のWebアプリケーションに関する質問になります。

#問題
作成しようとしているサービスの仕様上、規約に同意してない場合、必ずA画面(規約同意画面)を開き、その画面で確認ボタンを押させ、その後であればログインしなくても見れる画面については全てアクセスできるという仕様にしたいです。

実装のイメージとして、
リクエストを管理する何らかのクラスで同意したかどうかのセッションが保存されているかを確認し、入ってなければ規約同意画面に、あればリクエスト通りに遷移させるのかなと考えております。

この場合
同意したかどうかのセッションが保存されているかの確認, 適切なリクエスト先の指定とリダイレクトはどのクラスファイルで行うのがいいんでしょうか?

お手数ですがご確認いただけますと幸いですmm

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/11/13 21:26

まず思ったように作ってみられたほうが良いです。「どのクラスファイル」と言われましても現在の設計も実装も他者には分からないのでアドバイスしようがありません。 ひとつのことを実現するために取れる手段はひとつではありません。
komo_ta

2019/11/14 11:55

ありがとうございます、参考にします。
guest

回答2

0

ベストアンサー

ミドルウェアで実装するのはいかがでしょうか。

PHP

1<?php 2namespace App\Http\Middleware; 3use Closure; 4//同意してるかチェックするミドルウェアの例 5class Consent 6{ 7 public function handle($request, Closure $next) 8 { 9 //セッションの同意フラグチェック 10 if (!$request->session()->get('consentflag')) { 11 //同意してなかったら同意画面へリダイレクト 12 return redirect()->route('consentpage'); 13 } 14 return $next($request); 15 } 16} 17```

投稿2019/11/14 00:30

KonPota

総合スコア121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

komo_ta

2019/11/14 11:56

ご回答ありがとうございます!mmそちらをもとに実装できました。
guest

0

管理するセッションの量と画面の量に依るけどその質問文だけだと

全部ルーティングファイルに書けば?

となります

投稿2019/11/13 22:18

編集2019/11/14 10:32
hentaiman

総合スコア6426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問