#Authでログイン機能とユーザー登録機能を用意する
composerでlaravel/uiをインストールし、artisanコマンドでスカフォールドを生成する。
composer require laravel/ui
php artisan ui bootstrap --auth
※uiではbootstrapの他に、vueやreactを用いることもできる。
uiの生成
これでログイン機能とユーザー登録機能は用意できたが、このままではデザインがないのでnpmをインストールし、run devでコンパイルしてデザインを付ける。
npm install
npm run dev
##データベースの作成
ユーザー情報を保存するためにデータベースを作成する。
今回はmysqlを使う。
mampのスタート画面のtoolsからphpmyadminを開く。
新規作成からデータベース名を埋めてデータベースを作成する。
laravelの.envファイルの内容を書きえる。
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
B_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=【mampで決めたデータベースの名前】
DB_USERNAME=root
DB_PASSWORD=root
database/migrationsにusers_tableのmigrationが作成されているので、あとはartisanコマンドでmigrationとすればusers_tableが作られてログインとユーザーの登録ができるようになる。
##Authを使ってアクセスを制限
Authのログイン機能を使い、ログインしていればページが表示され、ログインしていなければログインページを表示する。
Route::get('sample', SampleContoroller@index})->middleware('auth')->name('sample.index');
#groupを使う場合
Route::group(['prefix' => 'sample', 'middleware' => 'auth'], function () {
Route::get('/', 'SampleController@index')->name('sample.index');
Route::get('edit', 'SampleController@edit')->name('sample.edit');
Route::post('update', 'SampleController@update')->name('sample.update');
});
middlewareをつけることでログインしないとそのページにアクセスできないようにできる。
認証について
バージョン
php:7.3.11
Laravel:7.21.0