Helpful resource for pundit challenge
Security is an important aspect of application development. Two main components of security are Authentication ( Who are you?) and Authorization ( are you supposed to be here?). Authentication verifies the user's identity while authorization verifies whether that user has access rights on certain resources to perform actions on them.