web-dev-qa-db-ja.com

新しい5.3 Auth :: routes()

最近私はlaravel 5.3を使ってブログを書き始めましたが、php artisan make:authを実行した後に質問があります

これを実行すると、私のweb.phpにルートが生成されます。

これはその中のコードです:

Auth::routes();

Route::get('/home', 'HomeController@index');

それから私はphp artisan route:listを実行します、私はLoginController @ loginのようなたくさんの行動を見つけます...

しかし、私はApp\Http\Controllers\Authにこれらのアクションが見つかりませんでした、これらはどこにありますか?

また、Auth::routes()の略で、Authに関するルートが見つかりません。

私は誰か助けが必要です、私の質問に答えてくれてありがとう

95
g1eny0ung

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');
164
Lee

Auth :: routes()の代わりにLaravel 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']);
});

そのため、これらのルートの名前を変更した場合は、投稿のアクションもビューで変更することを忘れないでください。

43
Walter Pozzguo

ああ、ちょっと、これは Laravel 5.7 includes 検証ルート です。

// 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');

// Email Verification Routes...
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');
17
zyglobe

Laravel 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');
14
Farid Movsumov

これは Laravel 5.6 で私には役に立ちました。

ファイル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
6
maxagaz

関数呼び出しの順序

  1. (Auth)\ Support\Facades\Auth @ routes( https://github.com/laravel/framework/blob/5.3/src/Illuminate/Support/Facades/Auth.php
  2. (アプリケーション)\ Foundation\Application @ authを照らします
  3. (ルート)イルミネーション\ Routing\Router

それはこのようなルートです:

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');
}
6
SilentCat

loginuserクラスはAuthenticatesUsersという名前のトレイトを使います

あなたがその特性を開くと、あなたは関数を見るでしょう(これは他のコントローラーにも当てはまります)Illuminate\Foundation\Auth\AuthenticatesUsers;

ここに特性コードがあります https://github.com/laravel/framework/blob/5.1/src/Illuminate/Foundation/auth/AuthenticationUsers.php

私の携帯電話を使用して、悪いフォーマットをごめんね

Auth::routes()それはそれを認証ルートを返す関数を呼び出すだけです(私は思う)

0
Achraf Khouadja

コマンドphp artisan route:listに誰も言及していないことに驚いています。これは、登録されているすべてのアプリルートのリストを示します(登録されている場合はAuth::routes()およびPassport::routes()を含む)

0
Shay