Add Security
Remove checking of user role
Use BadRequestException exception
Add missing public visibility
Use inject* method for dependencies
Remove method checkRequirements()
Implement Basic authentication
Add method checkRequirements()