カテゴリ: Laravel 更新日: 2026/01/27

Laravelでゲスト・管理者を分ける方法!初心者でもわかるユーザー種別による制御

Laravelでゲスト・管理者などユーザー種別による制御を行う方法
Laravelでゲスト・管理者などユーザー種別による制御を行う方法

先生と生徒の会話形式で理解しよう

生徒

「Laravelで、ログログインしていない人と管理者で、見せる画面を変えたいです」

先生

「それはユーザーの種類ごとに制御する、という考え方を使います」

生徒

「ユーザーの種類って、どうやって分けるんですか?」

先生

「ゲスト、一般ユーザー、管理者のように役割を決めて制御します」

1. ユーザー種別による制御とは?

1. ユーザー種別による制御とは?
1. ユーザー種別による制御とは?

Laravelでのユーザー種別による制御とは、「誰がどこまで操作してよいか」を決める仕組みです。たとえば、ログインしていない人は閲覧だけ、ログインした人は投稿可能、管理者は削除や設定変更ができる、といった形です。

これは学校でいうと、来校者、生徒、先生、校長先生でできることが違うのと同じです。Laravelでは、この違いをコードで表現します。

2. ゲストとログインユーザーの違い

2. ゲストとログインユーザーの違い
2. ゲストとログインユーザーの違い

ゲストとは、ログインしていない状態の利用者です。一方、ログインユーザーは、メールアドレスやパスワードで本人確認が終わった人です。

Laravelの認証機能では、「ログインしているかどうか」を簡単に判断できます。これにより、ゲストには見せないページを作れます。

3. 管理者とはどんなユーザーか

3. 管理者とはどんなユーザーか
3. 管理者とはどんなユーザーか

管理者とは、システム全体を管理する特別なユーザーです。一般ユーザーの情報を管理したり、重要な設定を変更したりします。

そのため、管理者専用の画面は、一般ユーザーやゲストから見えないようにする必要があります。

4. ユーザー種別をデータで持つ考え方

4. ユーザー種別をデータで持つ考え方
4. ユーザー種別をデータで持つ考え方

Laravelでは、ユーザーの種類をデータとして保存するのが一般的です。たとえば、ユーザーが管理者かどうかを表す情報を持たせます。

これは名札に「管理者」と書いてあるかどうかを確認するイメージです。名札があれば特別な部屋に入れます。

5. Userモデルでの考え方

5. Userモデルでの考え方
5. Userモデルでの考え方

Userモデルは、ログインしている人の情報をまとめたものです。ここに「管理者かどうか」という判断材料を持たせることで、ユーザー種別を区別できます。

モデルとは、現実の人や物を、プログラムの中で表した設計図のようなものです。

6. if文でユーザー種別を判断する

6. if文でユーザー種別を判断する
6. if文でユーザー種別を判断する

ユーザー種別による制御の基本は、if文です。条件によって処理を分ける仕組みです。


if (auth()->check()) {
    // ログインしているユーザー
}

このように書くと、「ログインしているかどうか」を確認できます。checkは「確認する」という意味です。

7. 管理者だけに許可する処理

7. 管理者だけに許可する処理
7. 管理者だけに許可する処理

管理者だけに見せたい画面や機能は、条件をさらに細かくします。


if (auth()->user()->is_admin) {
    // 管理者だけが実行できる処理
}

これは「ログインしている人が管理者なら」という意味です。is_adminは「管理者かどうか」を表す目印です。

8. Bladeテンプレートでの制御

8. Bladeテンプレートでの制御
8. Bladeテンプレートでの制御

画面表示でも、ユーザー種別による制御ができます。Bladeテンプレートを使うと、HTMLの中で条件分岐が書けます。


@auth
<p>ログイン中のユーザーに表示されます</p>
@endauth

@authは「ログインしている人だけ」という意味です。ゲストには表示されません。

9. ゲスト専用の表示

9. ゲスト専用の表示
9. ゲスト専用の表示

逆に、ログインしていない人だけに表示したい場合もあります。


@guest
<p>ゲストにだけ表示されます</p>
@endguest

これは「ログイン前の案内文」を出したいときによく使われます。

10. ルーティングでの制御の考え方

10. ルーティングでの制御の考え方
10. ルーティングでの制御の考え方

Laravelでは、URLごとにアクセス制御を考えることも重要です。管理画面のURLは、管理者だけが使えるようにします。

これにより、URLを直接入力されても、権限がなければ操作できません。

11. ミドルウェアとの関係

11. ミドルウェアとの関係
11. ミドルウェアとの関係

ミドルウェアとは、ページに入る前に行うチェック処理です。「通行止めの検問所」のような役割です。

ログインしているか、管理者か、といった確認を、画面に入る前に行えます。

12. ユーザー種別制御のメリット

12. ユーザー種別制御のメリット
12. ユーザー種別制御のメリット

ユーザー種別による制御を行うことで、操作ミスや不正アクセスを防げます。また、利用者にとっても分かりやすい画面構成になります。

Laravelの認証と認可を正しく使うことで、安全で信頼されるアプリケーションを作れます。

関連記事:
カテゴリの一覧へ
新着記事
New1
Laravel
LaravelでAPIのレスポンスをテストする方法を完全解説!assertJsonで初心者も安心
New2
CodeIgniter
CodeIgniterでRESTful API開発!初心者でもわかる全体構成ガイド
New3
Symfony
Symfonyのコントローラとは?作成・構造・役割を初心者向けにやさしく解説!
New4
Symfony
Symfonyでバリデーションメッセージを多言語対応する方法!初心者でもわかる国際化の基本
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelで動的パラメータをルートに渡す方法!初心者にもやさしいルートパラメータの使い方入門
No.2
Java&Spring記事人気No2
Laravel
Laravelのシングルアクションコントローラとは?使い方と利点
No.3
Java&Spring記事人気No3
Laravel
Laravelでキャッシュを使う方法(ファイル・Redis・Memcached)
No.4
Java&Spring記事人気No4
Laravel
LaravelのBlade構文まとめ!@if @foreach など基本ディレクティブ解説
No.5
Java&Spring記事人気No5
Symfony
Symfonyの依存性注入(DI)とは?コンストラクタでの注入方法を初心者向けに徹底解説
No.6
Java&Spring記事人気No6
Laravel
Laravelのマイグレーション履歴を確認する方法を徹底解説!migrate:statusの使い方
No.7
Java&Spring記事人気No7
Laravel
Laravelで名前付きルートを設定する方法!初心者でもわかるroute()関数の使い方
No.8
Java&Spring記事人気No8
Laravel
Laravelでファクトリを使ってテストデータを作成する方法を完全解説!初心者向けLaravelテスト入門