项目作者: zoutapps

项目描述 :
Add multi auth and role auth to laravel and override auth for laravel-backpack
高级语言: PHP
项目地址: git://github.com/zoutapps/laravel-backpack-multiauth.git
创建时间: 2017-07-01T14:26:02Z
项目社区:https://github.com/zoutapps/laravel-backpack-multiauth

开源协议:MIT License

下载


Abandoned

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:

  1. public function register()
  2. {
  3. if ($this->app->environment() == 'local') {
  4. $this->app->register(ZoutApps\LaravelBackpackAuth\AuthServiceProvider::class);
  5. }
  6. }

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.

  1. php artisan zoutapps:multiauth {singular_lowercase_name_of_guard}
  2. // Examples
  3. php artisan zoutapps:multiauth admin
  4. php artisan zoutapps:multiauth employee
  5. php artisan zoutapps:multiauth customer
  1. php artisan zoutapps:roleauth {singular_lowercase_name_of_guard}
  2. // Examples
  3. php artisan zoutapps:roleauth admin
  4. php artisan zoutapps:roleauth employee
  5. php artisan zoutapps:roleauth customer
  1. php artisan zoutapps:backpack:multiauth {singular_lowercasae_name_of_guard}
  2. // Example
  3. php artisan zoutapps:backpack:multiauth administrator
  1. php artisan zoutapps:backpack:roleauth {singular_lowercasae_name_of_guard} {exact_role_name}
  2. // Example
  3. 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.

  1. php artisan zoutapps:multiauth admin --domain
  2. php artisan zoutapps:multiauth employee --domain
  3. php artisan zoutapps:multiauth customer --domain

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

  1. 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)

  1. 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.

  1. php artisan zoutapps:multiauth admin --model

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

  1. php artisan zoutapps:multiauth admin --views

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

  1. 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:

  1. /**
  2. * Get the path that we should redirect once logged out.
  3. * Adaptable to user needs.
  4. *
  5. * @return string
  6. */
  7. public function logoutToPath() {
  8. return '/';
  9. }

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.