wangta69/laravel-auth

Auth for Laravel(라라벨용 회원관리 프로그램)

Installs: 76

Dependents: 5

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/wangta69/laravel-auth

8.12.7 2025-10-30 08:01 UTC

README

공식문서

Doc

제공 기능

  • role 기능
  • social login 기능
  • JWTAuth

Installation (설치) * 필독

1. Composer install

composer require wangta69/laravel-auth
php artisan pondol:install-auth

2. Crate user

세팅이후 관리자용 계정을 세팅합니다.

php artisan pondol:create-auth

3. Auth Model 변경

아래 두가지 방법중 하나를 선택하여 처리

3.1 Extends 사용(추천)

app\Model\User 를 extends 처리

<?php

namespace App\Models;

use Pondol\Auth\Models\User\User as PondolUser;

class User extends PondolUser
{
}

3.2 config mode 변경

laravel 12 이하는 직접 config/auth.php 수정

'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => Pondol\Auth\Models\User\User::class,
        ],
    ],

laravel 12 이상은 .env 파일의 AUTH_MODEL에서 변경 혹은 추가

AUTH_MODEL=Pondol\Auth\Models\User\User

How to Use

Admin Page 접근

세팅이 완료되면 브라우저 입력창에 auth/admin을 입력하면 관리자 페이지로 접근됩니다.

  • yourdomain.com/auth/admin

일반페이지 링크

routes 폴더에 auth.php (프론트용) 및 auth-admin.php (관리자용) 이 있으므로 보시고 적절한 링크를 이용하시면 됩니다.

권한설정이 안될 경우

laravel 12 이상에서는 아래와 같이 bootstrap/app.php 설정을 추가해야 합니다.(12 미만 버전에서는 자동으로 처리됨)

// bootstrap/app.php
->withMiddleware(function (Middleware $middleware) {
    $middleware->alias([
        'admin' => \Pondol\Auth\Http\Middleware\CheckRole::class,
        // 필요하다면 다른 역할에 대한 별칭도 추가할 수 있습니다.
        // 'manager' => \Pondol\Auth\Http\Middleware\CheckRole::class,
    ]);
})
<?php

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
        then: function () {
            Route::middleware(['web', 'auth', 'admin:administrator']) // 적용할 미들웨어 그룹
                 ->prefix('admin')                  // URL에 '/admin' 접두사 자동 추가
                 ->name('admin.')                   // 라우트 이름에 'admin.' 접두사 자동 추가
                 ->group(base_path('routes/admin.php')); // 로드할 라우트 파일 경로
        }
    )
    ->withMiddleware(function (Middleware $middleware): void {
        //
        $middleware->alias([
        'admin' => \Pondol\Auth\Http\Middleware\CheckRole::class,
        // 필요하다면 다른 역할에 대한 별칭도 추가할 수 있습니다.
        // 'manager' => \Pondol\Auth\Http\Middleware\CheckRole::class,
        ]);


    })
    ->withExceptions(function (Exceptions $exceptions): void {
        //
    })->create();

laravel/socialite 세팅

https://laravel.com/docs/11.x/socialite 참조하시어 생성 하시면 됩니다. .env

GOOGLE_CLIENT_ID='xxxxxxxx-xxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com'
GOOGLE_CLIENT_SECRET='GOCSPX-xxxxxxx_xxxxxx'

GITHUB_CLIENT_ID=xxxxxxxx
GITHUB_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

메일관련 세팅

메일은 Event 및 Job으로 처리되므로 아래와 같이 세팅해 주어야 합니다.

nohup php artisan queue:listen >> storage/logs/laravel.log &

통합관리자단 만들기

현재 제공중인 회원관리프로그램(wangta69/laravel-auth) 은 많은 패키지중 일부 입니다. 별도로 bbs나 market등 기타 package등도 제작/배포중에 있습니다. 이들은 각각 별도의 관리자단을 가지고 있으며 이를 통합하기 위해서는 아래 링크를 참조해 주시기 바랍니다.

통합관리자단 만드는 방법 보기