Skip to content

SHIFTECH-AFRICA/laravel-multiple-guards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Big Things, Start Small


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

Version Status Packagist Namespace Repo
1.x EOL shiftechafrica/laravel-multiple-guards LaravelMultipleGuards v1.1.9
2.x Latest shiftechafrica/laravel-multiple-guards LaravelMultipleGuards v2.0.0

Security Vulnerabilities

For any security vulnerabilities, please email to Support.

License

This package is open-source, licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages