I did test that controller and it worked just fine.
The filters are our version of "router middleware" that Laravel and a few other frameworks support. Because we still support the old-style auto-routing of controllers, traditional middleware like Laravel implements cannot work because the route file will not always be used. That's why we split it out to it's own file. Other than that, they are conceptually the same.