質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

1回答

1280閲覧

【Laravel】@auth("user")って効かないもの...?

mikeross

総合スコア18

PHP

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

1クリップ

投稿2019/05/22 22:58

お世話になっております。
Laravel修行中のものですが、昨晩下記URLを参考にマルチ認証で管理人(admin)ユーザーを作成しました。
Laravel5.7でMulti Authを試す。

上記記事だけでは完結しない部分をありましたが、
他の記事などで補足をしながら、なんとかadmin用の認証機能を作成しました。

ただ、その後bladeで条件分岐で一般(user)ユーザーと管理人(admin)ユーザーで出力する内容を
出し分けようと思って下記のように書いたのですが、
どうも@auth("user")では一般(user)ユーザーはtrueになってくれないようです。

php

1# これだとuserはtrueになるけど、adminも通してしまう。 2@auth() 3 userは認証済みです。<br> 4 ただしadminも認証済みです。 5@endauth 6 7# これだとuserはtrueにならずに、何も出力されない 8@auth("user") 9 userは認証済みになりません。 10@endauth

ちなみに、一般(user)ユーザーはphp artisan make:authをして作成した権限になります。

さて、疑問ですが、このように@auth("user")が効かないとなると、
通常はどのように一般userを条件分岐させれば良いのでしょうか?

恐らく簡単な質問になるかと思いますが、
どなたかわかる方がいらっしゃればご教授いただけると幸いです。

お忙しいところ恐縮ですが、何卒宜しくお願い致します。

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

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

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

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

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

guest

回答1

0

config/auth.phpをどう書いてるかの情報が必要。

@auth()と書いた場合デフォルトを省略してるのと同じなので@auth('web')
webとuserは同じだしadminもセッションなので結局全部同じように判定されてるのかも。

なにか動作がおかしい時はテスト書いて欲しい。
テストコードで表現すればuserガードで表示しようとしてることが誰にでも明確に分かる。

$response = $this->actingAs($user, 'user')->get('/');

いつものそもそもの話としてはちょっとした管理者権限程度にマルチ認証使うのは無駄。
Laravel公式パッケージのやり方見ればいい。
https://readouble.com/laravel/5.8/ja/horizon.html#dashboard-authorization

ドキュメント見ずにぐぐって古いやり方を真似する人が多すぎるからいつまでも間違う。

投稿2019/05/23 00:18

kawax

総合スコア10377

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問