Я создал страницу создания поста, которая должна быть доступна только зарегистрированным пользователям, используя приведенный ниже код для моего контроллера
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\StorePost ;
use App\Post;
class PostController extends Controller
{
public function __construst(){
$this->middleware('auth');
}
//
public function index()
{
# code...
$posts = Post::latest()->get();
return view('posts.index',compact('posts'));
}
public function show(Post $post)
{
# code...
return view('posts.show',compact('post'));
}
public function create()
{
# code...
return view('posts.create');
}
public function store(StorePost $request)
{
# code...
$validated = $request->validated();
Post::create(request(['title','body']));
return redirect('/');
}
}
файл web.php
<?php
Route::get('/','PostController@index')->name('home');
Route::get('/posts/create','PostController@create');
Route::post('/posts','PostController@store');
Route::get('/posts/{post}','PostController@show');
Route::get('/tasks','TasksController@index');
Route::get('/tasks/{tasks}', 'TasksController@show');
Route::post('/posts/{post}/comment','CommentController@store');
Route::get('/register','RegistrationsController@create');
Route::post('/register','RegistrationsController@store');
Route::get('/login','SessionsController@create');
Route::get('/logout','SessionsController@destroy');
Проблема, с которой я сталкиваюсь, заключается в том, что любой может посетить страницу создания сообщений, чего не должно быть