Exercise 2: What Actually Changed Since Chapter 8 — Possible Solution ==================================================================== WHAT LOOKS IDENTICAL BETWEEN STEP 5 AND CHAPTER 8 ------------------------------ Per this chapter, the route, the UpdatePageTitleRequest class, the @csrf-protected form, and the Controller's updateTitle() method are all exactly the same code written back in Chapter 8 - nothing about the request/response mechanics changed. WHAT ACTUALLY CHANGED ------------------------------ Per this chapter, Chapter 8 deliberately left UpdatePageTitleRequest's authorize() method returning true, a visible placeholder standing in for a real permission check. Chapter 9 changed that single line to return Auth::check() instead. By the time this capstone reaches Step 5, that one line is what determines whether the identical-looking submission actually succeeds - logged in, it behaves exactly as it did in Chapter 8; logged out, the same request is now refused. THE EXACT LINE RESPONSIBLE ------------------------------ Per this chapter, the responsible line is inside UpdatePageTitleRequest::authorize(): return Auth::check(); - replacing Chapter 8's own return true;. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly identifies that the surrounding code is unchanged since Chapter 8, and correctly identifies the single authorize() line - changed from return true; to return Auth::check(); in Chapter 9 - as the exact difference responsible for the request now being genuinely protected.