Middleware
This might be a scary subject for most, but middleware gives you a lot of flexibility when you need functionality that has to run on every request, or on a group of requests.
Do not create middleware if you only need the functionality for a single request and you are unlikely to ever extend it to more requests.
This is up to your discretion, but use it wisely — with great power comes great responsibility.
Authorization
In addition to providing built-in authentication services, Laravel also provides a simple way to authorize user actions against a given resource. For example, even though a user is authenticated, they may not be authorized to update or delete certain Eloquent models or database records managed by your application. Laravel
Validation
