ウェブログラム

実践しながらじっくり学ぶ、Webプログラム習得サイトです。自作サービスの公開までWeb開発を実践していきましょう!

Webrogram

自分のオリジナルサービスを作って運営しよう!

【Laravel実践編】MYBEYAに認証機能(ユーザ登録、ログイン、ログアウト)を作ろう

Laravel入門記事一覧はこちら webrogram.hatenadiary.jp

前回までは、サービスを考えたり、DBを設計して作成したりなどしました。

webrogram.hatenadiary.jp

今回からは、いよいよLaravelのコードを書いていきます。 まず初めは「MYBEYA」で使う認証(ユーザ登録、ログイン、ログアウト)機能を作成していきましょう。 と、その前に、Laravelの環境構築がまだっていう人は、Laravelのページが見えるようになるまで環境構築をしておいてください。 下の記事でプロジェクトを作成するところで「webrogramApp」と作成していますが、そこを「mybeya」にしておいてください。

webrogram.hatenadiary.jp

それでは、作っていきましょう。

mybeyaを起動する

まずDBなどの接続情報の.envを書きましょう。

プロジェクトディレクトリ内に「.env.example」というファイルがありますので、それを以下のコマンドで「.env」ファイルとしてコピーします。

cp .env.example .env

コピーした.evnファイルを以下のように書き換えます。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mybeya_db #データベース名
DB_USERNAME=root #データベースに接続するユーザ名
DB_PASSWORD=Asdf1234! #データベースに接続するユーザのパスワード

これでひとまずDB接続の設定は終わりです。

php artisan serve --host 0.0.0.0

でLaravelを起動してください。ブラウザで「192.168.33.10:8000」にアクセスして、 「Laravel」という表示がされていることを確認しましょう。

認証機能のファイルを生成する

Laravelは認証機能を提供していています。以下のコマンドをプロジェクトディレクトリ直下で実行しましょう。

php artisan make:auth

実行して以下のような表示がコマンドライン上に出ればOKです

Authentication scaffolding generated successfully.

上の操作によって、 「app/Http/Controllers/」にauthというディレクトリ 「resources/views」にauthというディレクトリ が作成されます。これらが認証機能を提供します。

Laravelを再度起動して、ブラウザにアクセスしてみてください。

f:id:iku8:20180825134112p:plain

初めに起動したのとは異なり、右上に「LOGIN REGISTER」というリンクができてます。 そう!これでもうユーザ登録機能、ログイン機能は完成してます。

とても簡単でしょ?

試しに「REGISTER」からユーザを登録してみてください。

無事登録が完了すると、ログイン状態で違うページに遷移します。

f:id:iku8:20180825134903p:plain

右上からログアウトもできます。ログアウトしたら、ログイン画面からログイン出来るかも見てみてください。

以上でLaravelの認証機能は終わりです。

次回からはログインしているユーザ情報をとったりと、具体的にプログラムを書いていきましょう。 なんとなく出来た認証機能も、使っている内にだんだんと内部の仕組みも理解できてくると思います。