larabel 5.3 신규 인증:: routes()
후 질문이 .php artisan make:auth
하면 내 루트가 됩니다.web.php
이 안에 있는 코드는 다음과 같습니다.
Auth::routes();
Route::get('/home', 'HomeController@index');
뛰어요php artisan route:list
Login Controller@login loginin login 。
이런 은 저희 학교에서는 수 없었습니다.App\Http\Controllers\Auth
것들들 ?? ?? ????
또 게 요?Auth::routes()
Auth(인증)
누가 좀 도와줘, 내 질문에 대답해줘서 고마워
Auth::routes()
는 사용자 인증에 필요한 모든 루트를 생성하는 데 도움이 되는 단순한 도우미 클래스입니다.이 코드는 https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php 에서 참조할 수 있습니다.
다음은 루트입니다
// Authentication Routes...
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');
// Registration Routes...
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register');
// Password Reset Routes...
$this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm');
$this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail');
$this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm');
$this->post('password/reset', 'Auth\ResetPasswordController@reset');
다음은 Laravel 5.7, Laravel 5.8, Laravel 6.0, Laravel 7.0 및 Laravel 8.0입니다(6.0에서는 이메일 검증 루트가 약간 변경되었습니다).
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// Registration Routes...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');
// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');
// Confirm Password (added in v6.2)
Route::get('password/confirm', 'Auth\ConfirmPasswordController@showConfirmForm')->name('password.confirm');
Route::post('password/confirm', 'Auth\ConfirmPasswordController@confirm');
// Email Verification Routes...
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}/{hash}', 'Auth\VerificationController@verify')->name('verification.verify'); // v6.x
/* Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify'); // v5.x */
Route::get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');
다음 루트를 확인할 수 있습니다.
- v5.7 https://github.com/laravel/framework/blob/5.7/src/Illuminate/Routing/Router.php#L1176
- v5.8 https://github.com/laravel/framework/blob/5.8/src/Illuminate/Routing/Router.php#L1151
- v6.0 https://github.com/laravel/framework/blob/6.x/src/Illuminate/Routing/Router.php#L1178
- v7.0 https://github.com/laravel/ui/blob/2.x/src/AuthRouteMethods.php (이 패키지는 larabel/ui 패키지로 이동)
- v8.0 https://github.com/laravel/ui/blob/3.x/src/AuthRouteMethods.php (옵션 네임스페이스 추가 외 변경 없음)
Auth::routes() 대신 Larabel 5.3의 인증 루트를 사용합니다.도움이 됐으면 좋겠는데...
Route::group(['middleware' => ['web']], function() {
// Login Routes...
Route::get('login', ['as' => 'login', 'uses' => 'Auth\LoginController@showLoginForm']);
Route::post('login', ['as' => 'login.post', 'uses' => 'Auth\LoginController@login']);
Route::post('logout', ['as' => 'logout', 'uses' => 'Auth\LoginController@logout']);
// Registration Routes...
Route::get('register', ['as' => 'register', 'uses' => 'Auth\RegisterController@showRegistrationForm']);
Route::post('register', ['as' => 'register.post', 'uses' => 'Auth\RegisterController@register']);
// Password Reset Routes...
Route::get('password/reset', ['as' => 'password.reset', 'uses' => 'Auth\ForgotPasswordController@showLinkRequestForm']);
Route::post('password/email', ['as' => 'password.email', 'uses' => 'Auth\ForgotPasswordController@sendResetLinkEmail']);
Route::get('password/reset/{token}', ['as' => 'password.reset.token', 'uses' => 'Auth\ResetPasswordController@showResetForm']);
Route::post('password/reset', ['as' => 'password.reset.post', 'uses' => 'Auth\ResetPasswordController@reset']);
});
따라서 이러한 경로의 이름을 변경할 경우 게시물의 액션도 뷰에서 변경해야 합니다.
Larabel 5.5.x의 경우
// Authentication Routes...
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');
// Registration Routes...
$this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
$this->post('register', 'Auth\RegisterController@register');
// Password Reset Routes...
$this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
$this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
$this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
$this->post('password/reset', 'Auth\ResetPasswordController@reset');
함수 호출 순서:
- (Auth) 조명\지원\패킷\Auth@routes(https://github.com/laravel/framework/blob/5.3/src/Illuminate/Support/Facades/Auth.php)
- (어플리케이션)조명\기초\Application@auth
- (루트) 조명\라우팅\라우터
다음과 같은 경로입니다.
public function auth()
{
// Authentication Routes...
$this->get('login', 'Auth\AuthController@showLoginForm');
$this->post('login', 'Auth\AuthController@login');
$this->get('logout', 'Auth\AuthController@logout');
// Registration Routes...
$this->get('register', 'Auth\AuthController@showRegistrationForm');
$this->post('register', 'Auth\AuthController@register');
// Password Reset Routes...
$this->get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
$this->post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
$this->post('password/reset', 'Auth\PasswordController@reset');
}
Laravel 5.6에서는 이 방법이 효과가 있었습니다.
일 in 。web.php
만: , " " " " 입니다.
Auth::routes();
기준:
//Auth::routes();
// Authentication Routes...
Route::get('admin/login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('admin/login', 'Auth\LoginController@login');
Route::post('admin/logout', 'Auth\LoginController@logout')->name('logout');
// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
다음 2개의 파일에서 Register 링크를 삭제합니다.
welcome.blade.php
layouts/app.blade.php
7 Larabel 7 버전을 수 Vendor/laravel/ui/src/AuthRouteMethods.php
.7 Auth::routes(['register' => false]);
in web.discloss.discloss에 있습니다.
가능한 옵션은 다음과 같습니다.
Auth::routes([
'register' => false, // Routes of Registration
'reset' => false, // Routes of Password Reset
'verify' => false, // Routes of Email Verification
]);
Larabel 8의 경우:
use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Auth\RegisterController;
use App\Http\Controllers\Auth\ForgotPasswordController;
use App\Http\Controllers\Auth\ConfirmPasswordController;
use App\Http\Controllers\Auth\VerificationController;
Route::get('login', [LoginController::class, 'showLoginForm'])->name('login');
Route::post('login', [LoginController::class,'login']);
Route::post('logout', [LoginController::class,'logout'])->name('logout');
// Registration Routes...
Route::get('register', [RegisterController::class, 'showRegistrationForm'])->name('register');
Route::post('register', [RegisterController::class, 'register']);
// Password Reset Routes...
Route::get('password/reset', [ForgotPasswordController::class, 'showLinkRequestForm'])->name('password.request');
Route::post('password/email', [ForgotPasswordController::class, 'sendResetLinkEmail'])->name('password.email');
Route::get('password/reset/{token}', [ForgotPasswordController::class, 'showResetForm'])->name('password.reset');
Route::post('password/reset', [ForgotPasswordController::class, 'reset'])->name('password.update');
// Confirm Password
Route::get('password/confirm', [ConfirmPasswordController::class, 'showConfirmForm'])->name('password.confirm');
Route::post('password/confirm', [ConfirmPasswordController::class, 'confirm']);
// Email Verification Routes...
Route::get('email/verify', [VerificationController::class, 'show'])->name('verification.notice');
Route::get('email/verify/{id}/{hash}', [VerificationController::class, 'verify'])->name('verification.verify');
Route::get('email/resend', [VerificationController::class, 'resend'])->name('verification.resend');
// Home
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
아무도 지휘부에 대해 언급하지 않았다니 놀랍군요php artisan route:list
등록된 모든 앱 경로 목록(다음 포함)을 제공합니다.Auth::routes()
그리고.Passport::routes()
등록된 경우)
loginuser 클래스는 다음과 같은 특성을 사용합니다.AuthenticatesUsers
해당 특성을 열면 기능이 표시됩니다(다른 컨트롤러에도 해당).Illuminate\Foundation\Auth\AuthenticatesUsers;
이것은 특성 코드 https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php 입니다.
포맷이 안좋아서 미안해, 나는 내 폰을 사용하고 있어.
또한.Auth::routes()
인증 루트를 반환하는 함수를 호출할 뿐입니다(내 생각엔).
언급URL : https://stackoverflow.com/questions/39196968/laravel-5-3-new-authroutes
'programing' 카테고리의 다른 글
JavaScript 개체의 속성을 나열하려면 어떻게 해야 합니까? (0) | 2022.12.03 |
---|---|
WordPress에서 (slug가 아닌) 현재 분류 용어 ID를 얻는 방법은 무엇입니까? (0) | 2022.12.03 |
python 목록에서 고유한 값 가져오기 (0) | 2022.12.03 |
같은 서버(같은 포트)에서 Vue.js와 Larabel을 실행합니다. (0) | 2022.12.03 |
HTML 백링크를 만드는 방법 (0) | 2022.12.03 |