# Laracon, controller middleware, and permissions Page: https://stenobird.com/podcast/north-meets-south-web-podcast-706861/laracon-controller-middleware-and-permissions Text version: https://stenobird.com/podcast/north-meets-south-web-podcast-706861/laracon-controller-middleware-and-permissions.md Podcast: [North Meets South Web Podcast](https://stenobird.com/podcast/north-meets-south-web-podcast-706861) Published: 2025-07-11T05:58:11+00:00 Episode link: https://share.transistor.fm/s/ede071f9 Audio file: https://media.transistor.fm/ede071f9/d9cc720d.mp3 Processing state: not_requested JSON: https://stenobird.com/v1/public/podcasts/north-meets-south-web-podcast-706861/episodes/laracon-controller-middleware-and-permissions Duration seconds: 3050 ## Resource In this episode, Michael and Jake kick things off with some Laracon travel talk, sharing their hotel plans, coffee quests, and even jokes about pillow fights at the conference hotel. Michael reveals his precise coffee scouting for the Vib by Best Western hotel, determined not to survive three days on Starbucks alone. Should you define middleware in a controller’s constructor? Michael explains why he avoids it - preferring to keep all middleware in route definitions for better visibility and maintainability. Jake explores the pros and cons and why he’s still tempted to use it for certain edge cases. Dynamic permissions vs. static definitions: We switch gears to talk about the balance between flexibility and clarity when defining permissions for applications, especially when it comes to handling user roles, teams, and complex business rules. Mentioned in this episode: Laracon US travel plans Vib by Best Western (the hotel coffee and tacos!) Laravel middleware usage Permission handling in apps Travel gear for developers on the go ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/north-meets-south-web-podcast-706861/episodes/laracon-controller-middleware-and-permissions/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/north-meets-south-web-podcast-706861/laracon-controller-middleware-and-permissions.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.