Maison > Questions et réponses > le corps du texte
Version : laravel 5.2
Une fois la vérification de l'utilisateur activée, la méthode Route::auth()
enregistrera automatiquement l'itinéraire :
//Illuminate/Routing/Router类的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');
}
Générer le contrôleur AuthController :
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller
{
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
/**
* Where to redirect users after login / registration.
*
* @var string
*/
protected $redirectTo = '/';//户成功进行登录认证后,默认将会跳转到路径
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
Pourquoi ce contrôleur AuthController ne définit-il pas la connexion, la déconnexion et d'autres méthodes, mais ces méthodes ont une sortie lors de l'accès à localhost/login ? Où sont définies ces méthodes ?
Que se passe-t-il ?
高洛峰2017-05-16 16:54:32
Utilisé
trait AuthenticatesAndRegistersUsers
Cliquez sur le code open source et vous le saurez.
Est-ce que ça doit être comme ça
====Apprenez Laravel ici : https://laravist.com====
Cliquez sur AuthenticatesAndRegistersUsers
, cela ressemblera à ceci : AuthenticatesAndRegistersUsers
,大概长这个样子:
trait AuthenticatesAndRegistersUsers
{
use AuthenticatesUsers, RegistersUsers {
AuthenticatesUsers::redirectPath insteadof RegistersUsers;
AuthenticatesUsers::getGuard insteadof RegistersUsers;
}
}
再点开AuthenticatesUsers
rrreee
AuthenticatesUsers
et un tas de méthodes apparaîtront. 🎜