When you are using custom guards in your application, they act like namespaces for your permissions and groups. Every guard has its own permissions that can be assigned to
their user model. The downside of this is that when working with multiple guards, because this package requires you to register a permission name for each
guard you want to authenticate with, you would have to define the same permission multiple times for each guard that you are using.