Giter Site home page Giter Site logo

laravel-backpack-multiauth's Introduction

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:

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.

laravel-backpack-multiauth's People

Contributors

oliverziegler avatar soham2008xyz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

laravel-backpack-multiauth's Issues

Can't composer require: Could not find package zoutapps/laravel-backpack-multiauth at any version for your minimum-stability (stable).

I'm using Composer 1.4.2, PHP 7.1.1 @ macOS Sierra 10.12.4

When I run "composer require zoutapps/laravel-backpack-multiauth --dev" what I got was:

[InvalidArgumentException]
Could not find package zoutapps/laravel-backpack-multiauth at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability

Any idea about what's going on? :)

Installation Issue (Please include to your user guide...)

cannot install via composer require zoutapps/laravel-backpack-multiauth --dev directly if anyone want to install your package out of the fresh Laravel installation.

Error:
[InvalidArgumentException] Could not find package zoutapps/laravel-backpack-multiauth at any version for your minimum-stability (stable). Check the package spelling or your m inimum-stability

Can only install by update composer.json

"require-dev": { "zoutapps/laravel-backpack-multiauth": "dev-master", },

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.