PHPackages                             starrysea/multi-auth - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. starrysea/multi-auth

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

starrysea/multi-auth
====================

Rewrite Laravel Auth to support authenticated multi-users

1.0.1(7y ago)010MITPHPPHP ^7.0

Since Dec 8Pushed 7y agoCompare

[ Source](https://github.com/caixingyue/laravel-starrysea-multi-auth)[ Packagist](https://packagist.org/packages/starrysea/multi-auth)[ Docs](https://github.com/caixingyue/laravel-starrysea-multi-auth)[ RSS](/packages/starrysea-multi-auth/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (3)Used By (0)

安装
--

[](#安装)

- [Laravel](#laravel)
- [Lumen](#lumen)

### Laravel

[](#laravel)

该软件包可用于 Laravel 5.6 或更高版本。

您可以通过 composer 安装软件包：

```
composer require starrysea/multi-auth
```

### Lumen

[](#lumen)

您可以通过 composer 安装软件包：

```
composer require starrysea/multi-auth
```

用法
--

[](#用法)

```
// config/auth.php

// ...

'guards' => [
    // ...

    'admin' => [
        'driver' => 'session',
        'provider' => 'admins',
    ],

    // ...
],

'providers' => [
    // ...

    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Models\Admin::class,
    ],

    // ...
],

// ...
```

```
// routes/web.php

// 登录及登出
Route::get('login', 'Admin\LoginController@showLoginForm');
Route::post('login', 'Admin\LoginController@login')->name('admin.login');
Route::post('logout', 'Admin\LoginController@logout')->name('admin.logout');

Route::get('/', 'Admin\IndexController@index')->middleware('auth:admin');
```

```
// app/Exceptions/Handler.php

class Handler extends ExceptionHandler
{
    // ...

    /**
     * 重写没有登录时要跳转的登录页面
     *
     * @param \Illuminate\Http\Request $request
     * @param AuthenticationException $exception
     * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
     */
    protected function unauthenticated($request, AuthenticationException $exception)
    {
        if ($request->expectsJson()){
            return response()->json(['message' => $exception->getMessage()], 401);
        }elseif (in_array('admin',$exception->guards())){
            return redirect()->guest(route('admin.login'));
        }else{
            return redirect()->guest(route('login'));
        }
    }
}
```

```
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Starrysea\MultiAuth\MultiUsers;

class MultiUsersGatherTest
{
    // 引入处理应用程序的身份验证用户组件
    use AuthenticatesUsers, MultiUsers{
        MultiUsers::logout insteadof AuthenticatesUsers;
        MultiUsers::sendFailedLoginResponse insteadof AuthenticatesUsers;
    }

    // 配置登录成功后重定向地址
    protected $redirectTo = 'admin';

    // 重写登录账号为登录名字段
    public function username()
    {
        return 'username';
    }

    // 创建一个新的控制器实例
    public function __construct()
    {
        $this->middleware('guest:admin')->except('logout');
    }

    // 重写显示应用程序的登录表单
    public function showLoginForm()
    {
        return view('admin.login');
    }

    // 重写验证过程中使用的身份信息
    protected function guard()
    {
        return Auth::guard('admin');
    }
}
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

2

Last Release

2713d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d82ae1c4a207d648201b29475a60246f9c8ec43e7c9505068d6d72c67ed494ea?d=identicon)[caixingyue](/maintainers/caixingyue)

---

Top Contributors

[![caixingyue](https://avatars.githubusercontent.com/u/39073687?v=4)](https://github.com/caixingyue "caixingyue (8 commits)")

### Embed Badge

![Health badge](/badges/starrysea-multi-auth/health.svg)

```
[![Health](https://phpackages.com/badges/starrysea-multi-auth/health.svg)](https://phpackages.com/packages/starrysea-multi-auth)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
