0
2

More than 1 year has passed since last update.

Dockerを使ったLaravelにログイン機能を追加する

Last updated at Posted at 2022-02-16

ログイン機能

Laravelにてログイン機能を追加しようと思っていて
「laravel ログイン機能」と検索すると
dockerを利用していない場合の、追加方法が出てきたりするので、以下のサイトを参考にさせていただきました!

また、以下のコードの意味がよく分からなかったため

% docker-compose exec app bash

こちらの記事も参考にさせていただきました!

出先のwi-fiを利用して、npm install を使用としたら
エラーが起きてしまいました。

これはプロキシ環境下において、設定を変更する必要があったため
上記サイトを3上にさせていただきました。

ちなみに、プロキシについてよく理解していなかったので
以下のサイトも参考にさせていただきました!

簡単に言うと、自分のデバイスをネットに繋ぐ際の仲介サーバーです。
プロキシサーバーによって安全にネットを利用することができるといっても過言ではないでしょう。

ログイン画面の追加方法

「laravel ログイン機能」と検索すると、ログイン機能を導入するためのコードは載っているのですが
どうやって、ブラウザ上で実装するかが載っていませんでした。

そこで、簡単に紹介していこうと思います。

上記サイトらを見て、諸々インストールすると

Web.php
Auth::routes();

Route::get('/home', [HomeController::class, 'index'])->name('home');

こんなコードが追加されているはずです。

これは、homeという名前を使うことで、ログイン画面を導くことができるよ。という意味なので

例えば、index.phpにログインリンクを追加したいとすると

index.php
<a href="{{ route('home') }}">ログイン</a>

こう追加すれば
↓↓↓ログインリンクが追加され
スクリーンショット 2022-02-16 13.00.15.png
↓↓↓

スクリーンショット 2022-02-16 13.00.22.png
ログイン画面が出てきます。

今の悩み

ログインしようとしても、そもそも登録していないので
ログインできない。

では、登録しようと実行してみたのですが
スクリーンショット 2022-02-16 13.02.02.png

以下のようなエラーが出てしまいました。

スクリーンショット 2022-02-16 13.02.13.png

おそらく、登録情報を保存するデータベース(テーブル)が設定されていないよ。
ということだと思います。

ますはエラーコードで検索してみて
ダメならば、テーブルを作成する方法を調べてみたいと思います。

最後に

最近、エラーに3日間くらいハマっていたおかげか
エラーに対しての対処法がスラスラ思い浮かぶようになりました。

エラーが1番成長させてくれるのかもしれないなと思った、今日この頃でした。

追記(2022/02/20)

その後、多くのエラーに見舞われ
DBやDockerなどの知識が増えて、全体像がわかってきたので追記します。

まず、上記を参考に
ユーザー認証機能をインストールすると

ログイン画面がブラウザに出てこないと思います。
これがルーティングがされてないからなんですね。

なので、まずルーティングをします。

ルーティング

web.php
//view('welcome')になっているところをauth.loginに変更します。
Route::get('/', function () {
    return view('auth.login');
});

これは、localhostにアクセスされたら
元々設定されている初期画面を表してくれ。という設定を
ログイン画面を表示してくれと指示した感じです。

マイグレーションもするよ

ルーティングができて、「ログインしちゃうぞっ!」と思って
ぽちぽちするとエラーが出てくるはずです。

これは、まだデータベースにテーブルが作成されていないからです。

どういうことかと言うと、
データベースにこんな情報登録するよ
という枠組みを用意できていないのです。

簡単に言うと、エクセルやスプレッドシートの項目を書いてすら
いないので、まず、どんな項目で登録するか教えてくれ
ってことなのです。

今回は、パッケージをインストール時点で
データベースのテーブルであるuser_table.phpという
マイグレーションファイルがあるので

そちらを、現在使用しているDockerに繋ぎます。

その方法は簡単で

./vender/bin/sail artisan migrate

でできちゃいます。

すると、データベースとの連結ができて
登録情報が保存ができるので完成です★

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2