User Module
The user module brings three important interfaces:
Authentication
(view interface)UserRepository
(view interface)RoleRepository
(view interface)Thanks to these interface, the user and role systems can be completely decoupled from the implementation. This is what enables AsgardCMS to give you the option to either use Sentry or Sentinel out of the box.
AsgardCMS comes out of the box with the following User and Role providers:
You are absolutely free to implement other user/role/authentication providers. You could for instance make an implementation for the popular packages Confide and Entrust, or maybe you're satisfied with the basic laravel implementation.
To make a new implementation its very easy, you simply need to implement the said interfaces and place the implementation in the Repositories/
folder.
For your inspiration you can check how Sentry and Sentinel are implemented:
Once implemented, don't forget to change the UserServiceProvider
class to bind the interfaces to your implementation. You can do this in the registerBindings() method.
For the spirit of open source, if you have successfully implemented another driver, consider sending a pull-request to the User Module repository so others can benefit from your hard work too.