zoutapps/laravel-backpack-multiauth

This package is abandoned and no longer maintained. No replacement package was suggested.

This package enables using different Guards and User Models for laravel-backpack.

v1.0.0-beta.3 2017-08-03 17:33 UTC

This package is auto-updated.

Last update: 2022-02-01 13:08:11 UTC


README

As backpack improved the way we can use auth guards, middlewares and so on, laravel-backpack-multiauth will not get any more updates.

Laravel-Backpack-Multiauth

StyleCI Build Status Latest Stable Version Total Downloads License

Easy out of the box multiauth in Laravel and in backpackforlaravel.com.

And with laravel-permisson you can also create pseudo user models to provide authentication vie roles.

  • php artisan zoutapps:multiauth Generates a new auth guard and sets everything up.
  • php artisan zoutapps:roleauth Generates a user subclass with role and sets up corresponding guards.
  • php artisan zoutapps:backpack:multiauthSwaps the default backpack auth model and guard with a newly created.
  • php artisan zoutapps:backpack:roleauth Swaps the default backpack auth model and guard with a newly created role based.

What it does?

With one simple command you can setup multi/role auth for your Laravel 5.4 project.
The package installs:

  • Model
  • Migration
  • Controllers
  • Notification
  • Routes
    • routes/web.php
      • {guard}/login
      • {guard}/register
      • {guard}/logout
      • password reset routes
    • routes/{guard}.php
      • {guard}/home
  • Middleware
  • Views
  • Guard
  • Provider
  • Password Broker
  • Settings
  • Scope

Usage

Step 1: Install Through Composer

As this package is currently only in beta and so there is no stable version you need to add "zoutapps/laravel-backpack-multiauth": "dev-master" to the require-dev section of your composer.json and perform composer update

Step 2: Add the Service Provider

You'll only want to use this package for local development, so you don't want to update the production providers array in config/app.php. Instead, add the provider in app/Providers/AppServiceProvider.php, like so:

public function register()
{
	if ($this->app->environment() == 'local') {
		$this->app->register(ZoutApps\LaravelBackpackAuth\AuthServiceProvider::class);
	}
}

Step 3: Run the commands

By running the commands you can setup multi/role auth for laravel or switch to an new model for laravel-backpack.

php artisan zoutapps:multiauth {singular_lowercase_name_of_guard}

// Examples
php artisan zoutapps:multiauth admin
php artisan zoutapps:multiauth employee
php artisan zoutapps:multiauth customer
php artisan zoutapps:roleauth {singular_lowercase_name_of_guard}

// Examples
php artisan zoutapps:roleauth admin
php artisan zoutapps:roleauth employee
php artisan zoutapps:roleauth customer
php artisan zoutapps:backpack:multiauth {singular_lowercasae_name_of_guard}

// Example
php artisan zoutapps:backpack:multiauth administrator
php artisan zoutapps:backpack:roleauth {singular_lowercasae_name_of_guard} {exact_role_name}

// Example
php artisan zoutapps:backpack:multiauth administrator

Notice:
You can provide the -f flag to force overwrite existing files. If you did not provide -f we will always ask you before overwriting.

Alternatives: If you want to install multiauth files in a subdomain you must pass the option --domain.

php artisan zoutapps:multiauth admin --domain
php artisan zoutapps:multiauth employee --domain
php artisan zoutapps:multiauth customer --domain

To be able to use this feature properly, you should add a key to your .env file:

APP_DOMAIN=yourdomain.com

This will allow us to use it in the routes file, prefixing it with the domain feature from Laravel routing system.
Using it like so: ['domain' => '{guard}.' . env('APP_DOMAIN')].

Step 4: Migrate the model (not neccessary if roleauth)

php artisan migrate

Step 5: Try it

Go to: http://url_to_your_project/guard/login
Example: http://project/admin/login

Options

If you want to see which files are generated or touched provide the -v flag.

If you don't want model and migration use --model flag.

php artisan zoutapps:multiauth admin --model

If you don't want views use --views flag.

php artisan zoutapps:multiauth admin --views

If you don't want routes in your routes/web.php file, use --routes flag.

php artisan zoutapps:multiauth admin --routes

Note

If you want to adapt the redirect path once your guard is logged out, add and override the following method in your {guard}Auth\LoginController:

/**
 * Get the path that we should redirect once logged out.
 * Adaptable to user needs.
 *
 * @return string
 */
public function logoutToPath() {
    return '/';
}

Changelog

Please see CHANGELOG for mor information what was changed.

Credits

This package was influenced by several Tutorials and walkthroughs for Laravel MultiAuth, spatie/laravel-permission and several Laracasts.

License

The MIT License (MIT). Please see License File for more information.