GA黄金甲

laravel框架登录注册流程

laravel框架是一种基于php语言开发的优异而受接待的web应用程序开发框架。laravel框架有很是完善的用户登录和注册系统,这个注册和登录系统可以实现用户的基本认证功效,并且可以对用户举行一些列的授权操作,如:用户权限治理、重置密码、邮箱验证等等。在下面的文章中,我们将详细叙述laravel框架的登录和注册流程。

用户注册流程

首先,我们需要建设用户表,用于生涯用户的基本信息。我们可以使用Laravel提供的“make:model”下令来建设该模子。在终端中输入如下下令:

php artisan make:model User -m

登录后复制

这条下令将会在app目录下天生一个User模子,并且在数据库天生一个users表。在User模子中,我们需要指定用户使用的认证方法。Laravel框架提供了多种用户认证方法,我们可以在模子中的guard属性中举行设置:

protected $guard = 'web';

登录后复制

建设好用户模子之后,我们需要再建设一个用于展收户注书页面的控制器,我们使用以下下令来建设该控制器:

php artisan make:controller AuthRegisterController --resource

登录后复制

运行完这个下令之后,Laravel框架将会在appHttpControllersAuth目录下建设一个名为RegisterController.php的文件。在该控制器中,我们需要实现以下要领:

use AppUser;
use IlluminateFoundationAuthRegistersUsers;
public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    $this->guard()->login($user);

    return redirect($this->redirectTo);
}

// 验证用户输入的数据
protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:8', 'confirmed'],
    ]);
}

// 生涯注册用户信息到数据库
protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
    ]);
}

登录后复制

接下来,我们需要在routes/web.php中添加该控制器的路由:

Route::get('register', 'AuthRegisterController@showRegistrationForm')->name('register');
Route::post('register', 'AuthRegisterController@register');

登录后复制

在前台页面上,我们使用以下表单来网络用户数据:

<form method="POST" action="{{ route('register') }}">
    @csrf
    <div>
        <label for="name">用户名</label>
        <input id="name" type="text" name="name" value="{{ old('name') }}" required autofocus>
    </div>

    <div>
        <label for="email">邮箱</label>
        <input id="email" type="email" name="email" value="{{ old('email') }}" required>
    </div>

    <div>
        <label for="password">密码</label>
        <input id="password" type="password" name="password" required>
    </div>

    <div>
        <label for="password-confirm">确认密码</label>
        <input id="password-confirm" type="password" name="password_confirmation" required>
    </div>

    <div>
        <button type="submit">注册</button>
    </div>
</form>

登录后复制

然后我们就乐成地建设了用户注册流程。

用户登录流程

Laravel提供了非 ?旖莸挠没У锹家,我们可以使用该要领来举行用户登录。在routes/web.php中添加以下路由:

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

登录后复制

然后建设一个与User模子对应的LoginController控制器。在控制器中,我们需要实现以下要领:

use IlluminateFoundationAuthAuthenticatesUsers;
public function login(Request $request)
{
    $this->validateLogin($request);

    if ($this->attemptLogin($request)) {
        return $this->sendLoginResponse($request);
    }

    return $this->sendFailedLoginResponse($request);
}

// 认证用户名和密码
protected function attemptLogin(Request $request)
{
    return $this->guard()->attempt(
        $this->credentials($request), $request->filled('remember')
    );
}

// 获取用户名和密码
protected function credentials(Request $request)
{
    return $request->only($this->username(), 'password');
}

public function username()
{
    return 'email';
}

// 用户退出登录要领
public function logout(Request $request)
{
    $this->guard()->logout();

    $request->session()->invalidate();

    return redirect('/');
}

登录后复制

接着,我们需要建设一个用户登录视图。在视图中,我们使用以下表单来吸收用户数据:

<form method="POST" action="{{ route('login') }}">
    @csrf
    <div>
        <label for="email">邮箱</label>
        <input id="email" type="email" name="email" value="{{ old('email') }}" required autofocus>
    </div>

    <div>
        <label for="password">密码</label>
        <input id="password" type="password" name="password" required>
    </div>

    <div>
        <input type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
        <label for="remember">记着我</label>
    </div>

    <div>
        <button type="submit">登录</button>
    </div>
</form>

登录后复制

在建设好以上视图和控制器之后,我们就实现了Laravel框架的用户登录和注册流程。需要注重的事项是用户登录乐成之后,需要将用户信息存入session中,以便于后续功效的挪用。在控制器的第二个要领中,我们可以使用Laravel框架提供的attemptLogin要领来验证用户的登录信息,若是验证通过就将用户信息存入session,并且将用户重定向到子网址。

综上,Laravel框架的用户登录和注册流程很是简朴易懂,通过以上办法实现用户登录和注册功效只需要简朴的几行代码即可。虽然,若是用户需要更为高级的认证和权限治理,也可以使用Laravel框架的扩展性,在以上模子和控制器的基础上添加一些自界说的要领。

以上就是laravel框架登录注册流程的详细内容,更多请关注本网内其它相关文章!

免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理,版权争议与本站无关,文章涉及看法与看法不代表GA黄金甲滤油机网官方态度,请读者仅做参考。本文接待转载,转载请说明来由。若您以为本文侵占了您的版权信息,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息,请您连忙联系GA黄金甲实时修正或删除。

相关新闻

联系GA黄金甲

18523999891

可微信在线咨询

事情时间:周一至周五,9:30-18:30,节沐日休息

QR code
【网站地图】【sitemap】