演習課題「日記アプリに、アクセス制御を追加する」
右の環境には、Laravelで「mydiary」ディレクトリに日記アプリを作成してあります。また、ユーザー管理用のルートとビューも自動生成してあります。
このアプリで、ログインしている時だけ、日記を投稿・更新・削除できるようにコントローラ(ArticleController.php)を修正してください。ただし、日記一覧と日記詳細ページは、ログインしていなくても表示させます。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、サーバを起動し、問題文に関するページにアクセスできる状態にしてください。
#06:アクセス制御を追加しよう
ここでは、Lunchmapアプリにアクセス制御を追加します。そして、ログインしている時だけ、お店情報を投稿・更新・削除できるようにしましょう。
kirisima:
- Email: info@paiza.jp
- Password: k1r1s1m@
paiza:
- Email: foo@paiza.jp
- Password: p3a.i1z4a
app/Http/Controllers/ShopController.phpclass ShopController extends Controller
{
public function __construct()
{
$this->middleware('auth')->except(['index', 'show']);
}
resources/views/index.blade.php@extends('layout')
@section('content')
<h1>お店一覧</h1>
<table class='table table-striped table-hover'>
<tr>
<th>カテゴリ</th><th>店名</th><th>住所</th>
</tr>
@foreach ($shops as $shop)
<tr>
<td>{{ $shop->category->name }}</td>
<td>
<a href={{ route('shop.detail', ['id' => $shop->id]) }}>
{{ $shop->name }}
</a>
</td>
<td>{{ $shop->address }}</td>
</tr>
@endforeach
</table>
@auth
<div>
<a href='{{ route("shop.new") }}'>新しいお店</a>
<div>
@endauth
@endsection
- Laravel5.7: ログイン機能を追加する - Qiita
https://qiita.com/sutara79/items/fdbfbf2a8f86f7d8f7fb
- 認証 5.7 Laravel
https://readouble.com/laravel/5.7/ja/authentication.html
- Laravelの標準Authentication(Auth)の動きを調べてみる - Qiita
https://qiita.com/zaburo/items/9fcf0f4c771e011a4d35
- Laravel 5.5 の認証機能とそのカスタマイズ - Qiita
https://qiita.com/naga3/items/4f3defde59b31a1a797e