shiftechafrica / laravel-multiple-guards
This library helps one to handle multiple guards. Read through the read me.
Requires
- illuminate/support: ^5.7|^5.8|^6.0|^7.0|^8.0|^9.0|^10|^11
README
Introduction
This library helps one to handle multiple guards. Read through to understand how to use it.
Installing
The recommended way to install laravel-multiple-guards is through Composer.
# Install package via composer
composer require shiftechafrica/laravel-multiple-guards
Next, run the Composer command to install the latest stable version of shiftechafrica/laravel-multiple-guards:
# Update package via composer
composer update shiftechafrica/laravel-multiple-guards --lock
After installing, the package will be auto discovered, But if need you may run:
# run for auto discovery <-- If the package is not detected automatically -->
composer dump-autoload
Then run this, to get the config/laravel-multiple-guards.php for your own configurations:
# run this to get the configuration file at config/laravel-multiple-guards.php <-- read through it --> php artisan vendor:publish --provider="LaravelMultipleGuards\LaravelMultipleGuardsServiceProvider"
A config/laravel-multiple-guards.php file will be created, follow the example below to define your guards.
# set all the guards to use within the system SYSTEM_GUARDS=admin,web
Usage
Follow the steps below on how to use the laravel-multiple-guards:
How to use the Library
How to use the guards within your controller...
class HomeController extends Controller { use FindGuard; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware($this->setGuardMiddleware()); //@todo this sets the middleware automatically i.e auth, auth:admin that you have defined in the config/auth.php } /** * Show the application dashboard. * * @return Renderable */ public function index() { return view('home'); } /** * get authenticated user */ public function getUser() { return $this->findGuardType()->user(); } /** * logout user * @return RedirectResponse */ public function logout() { $this->findGuardType()->logout(); return redirect()->route('login'); } } /** * How to get the guard name * authorized */ return $this->findGuardType(true); //@todo this returns the guard name i.e web , admin
Version Guidance
Security Vulnerabilities
For any security vulnerabilities, please email to Support.
License
This package is open-source, licensed under the MIT License.