>PHP 프레임워크 >Laravel >laravel 로그인 수정

laravel 로그인 수정

王林
王林원래의
2023-05-20 15:18:39569검색

Laravel은 웹 애플리케이션 개발에 널리 사용되는 매우 인기 있는 오픈 소스 PHP 프레임워크입니다. 그 중 사용자 로그인 기능 구현은 웹 애플리케이션의 기본 요구사항이다. 이 글에서는 특정 요구 사항을 충족하거나 사용자 경험을 향상시키기 위해 Laravel 애플리케이션의 로그인 기능을 수정하는 방법에 대해 설명합니다.

라우팅 수정

먼저 로그인 경로를 수정해야 합니다. 기본적으로 Laravel 애플리케이션의 로그인 경로는 /auth/login입니다. 그러나 이를 사용자 정의 경로로 변경하고 싶을 수도 있습니다. Laravel에서는 Routes/web.php 파일을 수정하여 이를 달성할 수 있습니다.

다음은 로그인 경로를 /auth/login에서 /login으로 수정하는 예입니다.

Route::get('/login', 'AuthLoginController@showLoginForm')->name('login');
Route::post('/login', 'AuthLoginController@login');

로그인 양식 보기 수정

다음으로 특정 요구 사항을 충족하거나 사용자 경험을 개선하기 위해 로그인 양식 보기를 수정할 수 있습니다. Laravel에서 로그인 폼 뷰는 resources/views/auth/login.blade.php 파일에 의해 정의됩니다.

다음은 사용자가 로그인 상태를 유지할지 여부를 선택할 수 있도록 양식에 "기억하기" 확인란을 추가한 예입니다.

<form method="POST" action="{{ route('login') }}">
    @csrf

    <div class="form-group">
        <label for="email">{{ __('E-Mail Address') }}</label>
        <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>

        @error('email')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>

    <div class="form-group">
        <label for="password">{{ __('Password') }}</label>
        <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">

        @error('password')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>

    <div class="form-group form-check">
        <input type="checkbox" class="form-check-input" id="remember" name="remember">
        <label class="form-check-label" for="remember">{{ __('Remember Me') }}</label>
    </div>

    <button type="submit" class="btn btn-primary">{{ __('Login') }}</button>
</form>

로그인 컨트롤러 수정

마지막으로 로그인 컨트롤러를 수정해야 합니다. 양식에 대한 응답으로 제출하고 특정 작업을 수행합니다. Laravel에서 기본 로그인 컨트롤러는 app/Http/Controllers/Auth/LoginController.php입니다.

다음은 사용자가 성공적으로 로그인한 후 자동으로 특정 페이지로 리디렉션하기 위해 리디렉션To() 메서드를 추가한 예입니다.

<?php

namespace AppHttpControllersAuth;

use AppHttpControllersController;
use IlluminateFoundationAuthAuthenticatesUsers;

class LoginController extends Controller
{
    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/dashboard';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    /**
     * Get the post login redirect path.
     *
     * @return string
     */
    public function redirectTo()
    {
        if (auth()->user()->isAdmin()) {
            return '/admin/dashboard';
        }

        return '/dashboard';
    }
}

위의 예에서 리디렉션To() 메서드는 auth() 도우미 함수를 사용하여 다음을 수행합니다. 사용자 역할을 확인한 후 해당 페이지로 리디렉션하세요. 이는 Laravel 로그인 기능에 더 큰 유연성과 확장성을 제공합니다.

요약

이 글의 소개를 통해 독자들은 Laravel 애플리케이션에서 로그인 기능을 수정하는 방법을 배웠습니다. 이 프로세스에는 로그인 경로 수정, 로그인 양식 보기 수정 및 로그인 컨트롤러 수정이 포함됩니다. 이러한 개선 사항을 통해 사용자 경험을 개선하고 특정 요구 사항에 따라 사용자 정의된 로그인 기능을 활성화할 수 있습니다. Laravel 애플리케이션이 개발되고 사용자 요구 사항이 변경됨에 따라 더 많은 로그인 기능 수정 사항이 여기에 포함될 것입니다.

위 내용은 laravel 로그인 수정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:라라벨 히든 필드다음 기사:라라벨 히든 필드