濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Laravel5.1 框架登錄和注冊實(shí)現(xiàn)方法詳解

Laravel5.1 框架登錄和注冊實(shí)現(xiàn)方法詳解

熱門標(biāo)簽:青島語音外呼系統(tǒng)招商 河南電銷卡外呼系統(tǒng)哪家強(qiáng) 岳陽外呼型呼叫中心系統(tǒng)在哪里 昭通辦理400電話 百應(yīng)電話機(jī)器人服務(wù) 山西回?fù)芡夂粝到y(tǒng) 山西探意電話機(jī)器人 騰訊外呼管理系統(tǒng) 揚(yáng)州地圖標(biāo)注app

本文實(shí)例講述了Laravel5.1 框架登錄和注冊實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

關(guān)于登錄和注冊 Laravel自帶了一套組件實(shí)現(xiàn)了這一功能,我們只需要實(shí)現(xiàn)簡單的視圖即可。

AuthController是專門管理用戶注冊和登錄的。

PassWordController是重置密碼用的,今天暫不做記錄。

1 配置

我們可以在 config/auth.php 文件中進(jìn)行用戶認(rèn)證的配置:

?php
return [
  /*
  |--------------------------------------------------------------------------
  | Default Authentication Driver
  |--------------------------------------------------------------------------
  |
  | This option controls the authentication driver that will be utilized.
  | This driver manages the retrieval and authentication of the users
  | attempting to get access to protected areas of your application.
  |
  | Supported: "database", "eloquent"
  |
  */
  'driver' => 'eloquent',
  /*
  |--------------------------------------------------------------------------
  | Authentication Model
  |--------------------------------------------------------------------------
  |
  | When using the "Eloquent" authentication driver, we need to know which
  | Eloquent model should be used to retrieve your users. Of course, it
  | is often just the "User" model but you may use whatever you like.
  |
  */
  'model' => App\User::class,
  /*
  |--------------------------------------------------------------------------
  | Authentication Table
  |--------------------------------------------------------------------------
  |
  | When using the "Database" authentication driver, we need to know which
  | table should be used to retrieve your users. We have chosen a basic
  | default value but you may easily change it to any table you like.
  |
  */
  'table' => 'users',
  /*
  |--------------------------------------------------------------------------
  | Password Reset Settings
  |--------------------------------------------------------------------------
  |
  | Here you may set the options for resetting passwords including the view
  | that is your password reset e-mail. You can also set the name of the
  | table that maintains all of the reset tokens for your application.
  |
  | The expire time is the number of minutes that the reset token should be
  | considered valid. This security feature keeps tokens short-lived so
  | they have less time to be guessed. You may change this as needed.
  |
  */
  'password' => [
    'email' => 'emails.password',
    'table' => 'password_resets',
    'expire' => 60,
  ],
];

這是默認(rèn)的配置,注釋寫的很清楚了 如果有特別需要可以做更改,一般情況中我們使用默認(rèn)的就OK。

2 創(chuàng)建路由

/**
 * 用戶認(rèn)證
 */
// getLogin 用于展示登錄表單。
Route::get('/auth/login', 'Auth\AuthController@getLogin');
// postLogin 用于提交用戶登錄數(shù)據(jù)。
Route::post('/auth/login', 'Auth\AuthController@postLogin');
// getLogout 用于退出登錄。
Route::get('/auth/logout', 'Auth\AuthController@getLogout');
/**
 * 用戶注冊
 */
// getRegister 用于展示注冊表單。
Route::get('/auth/register', 'Auth\AuthController@getRegister');
// postRegister 用于提交用戶注冊數(shù)據(jù)。
Route::post('/auth/register', 'Auth\AuthController@postRegister');

3 注冊實(shí)現(xiàn)

3.1 編寫視圖

注冊視圖的路徑必須放在 views/auth/ 目錄中 并命名為 register.blade.php。

!DOCTYPE html>
html>
head>
  meta charset="utf-8">
  title>用戶注冊/title>
  link rel="stylesheet"  rel="external nofollow" rel="external nofollow" >
/head>
body>
div class="container">
  div class="row">
    div class="col-md-8 col-md-offset-2">
      div class="panel panel-default">
        div class="panel-heading">Register/div>
        div class="panel-body">
          form action="{{ url('/auth/register') }}" method="post" role="form" class="form-horizontal">
            input type="hidden" name="_token" value="{{ csrf_token() }}">
            div class="form-group">
              label class="col-md-4 control-label">用戶名:/label>
              div class="col-md-6">
                input type="text" name="name" class="form-control" autofocus>
              /div>
            /div>
            div class="form-group">
              label class="col-md-4 control-label">郵箱:/label>
              div class="col-md-6">
                input type="email" name="email" class="form-control">
              /div>
            /div>
            div class="form-group">
              label class="col-md-4 control-label">密碼:/label>
              div class="col-md-6">
                input type="password" name="password" class="form-control">
              /div>
            /div>
            div class="form-group">
              label class="col-md-4 control-label">確認(rèn)密碼:/label>
              div class="col-md-6">
                input type="password" name="password_confirmation" class="form-control">
              /div>
            /div>
            div class="form-group">
              div class="col-md-offset-4 col-md-8">
                button type="submit" class="btn btn-primary">注冊/button>
              /div>
            /div>
          /form>
        /div>
      /div>
    /div>
  /div>
/div>
/body>
/html>

3.2 修改跳轉(zhuǎn)URL

注冊后跳轉(zhuǎn)的URL有時(shí)候不是我們想要的,你可以自定義跳轉(zhuǎn)路由,在AuthController中添加即可:

protected $redirectPath = '/';

4 登錄實(shí)現(xiàn)

我們注冊后已經(jīng)有了用戶了 現(xiàn)在可以試試登錄的實(shí)現(xiàn)了。

4.1 編寫視圖

登錄的視圖路徑也是有規(guī)定的:views/auth/ 然后命名為:login.balde.php

!DOCTYPE html>
html>
head>
  meta charset="utf-8">
  title>用戶登錄/title>
  link rel="stylesheet"  rel="external nofollow" rel="external nofollow" >
/head>
body>
div class="container">
  div class="row">
    div class="col-md-8 col-md-offset-2">
      div class="panel panel-default">
        div class="panel-heading">Login/div>
        div class="panel-body">
          form action="{{ url('/auth/login') }}" method="post" role="form" class="form-horizontal">
            input type="hidden" name="_token" value="{{ csrf_token() }}">
            div class="form-group">
              label class="col-md-4 control-label">郵箱:/label>
              div class="col-md-6">
                input type="email" name="email" class="form-control">
              /div>
            /div>
            div class="form-group">
              label class="col-md-4 control-label">密碼:/label>
              div class="col-md-6">
                input type="password" name="password" class="form-control">
              /div>
            /div>
            div class="form-group">
              div class="col-md-offset-4 col-md-8">
                button type="submit" class="btn btn-primary">登錄/button>
              /div>
            /div>
          /form>
        /div>
      /div>
    /div>
  /div>
/div>
/body>
/html>

4.2 登錄后跳轉(zhuǎn)

登錄后的跳轉(zhuǎn)跟注冊后的跳轉(zhuǎn)是一樣的:

protected $redirectPath = '/';

4.3 登錄失敗跳轉(zhuǎn)

當(dāng)?shù)卿浭×薒aravel會(huì)默認(rèn)跳轉(zhuǎn)回 auth/login 路由,這也是可以自定義的:

protected $loginPath = '/error';

4.4 修改登錄用戶名

默認(rèn)的登陸用戶名是郵箱,我們可以在AuthController中自定義:

// 該屬性默認(rèn)為email,改成name是以用戶名作為賬號(hào)類型登錄。
protected $username = 'name';

4.5 查看用戶信息

我們可以通過Auth門面的方法來訪問已經(jīng)登錄進(jìn)來的用戶:

Auth::user()

4.6 檢查用戶是否登錄

if (Auth::check()) {
  // 這個(gè)用戶已經(jīng)登錄...
}

4.7 用于登錄失敗次數(shù)限制

Laravel支持這種邏輯,我們只需要在AuthController中引入 ThrottlesLogins 這個(gè)trait 即可。一分鐘內(nèi)登錄5次都不成功就會(huì)鎖閉一分鐘,它是基于 用戶名/郵箱和IP地址的。

5 登出用戶

我們只需要訪問 /auth/logout 就可以登出用戶了,當(dāng)然還有一個(gè)方法 就是Auth門面方法:

Auth::logout();

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • Laravel 5.4重新登錄實(shí)現(xiàn)跳轉(zhuǎn)到登錄前頁面的原理和方法
  • Laravel5.2使用Captcha生成驗(yàn)證碼實(shí)現(xiàn)登錄(session巨坑)
  • laravel5.2實(shí)現(xiàn)區(qū)分前后臺(tái)用戶登錄的方法
  • laravel5實(shí)現(xiàn)微信第三方登錄功能
  • 基于Laravel5.4實(shí)現(xiàn)多字段登錄功能方法示例
  • Laravel5.5 實(shí)現(xiàn)后臺(tái)管理登錄的方法(自定義用戶表登錄)
  • 解決laravel5中auth用戶登錄其他頁面獲取不到登錄信息的問題
  • laravel 5.3 單用戶登錄簡單實(shí)現(xiàn)方法
  • Laravel5.4框架使用socialite實(shí)現(xiàn)github登錄的方法
  • Laravel 5.5 實(shí)現(xiàn)禁用用戶注冊示例

標(biāo)簽:銅川 婁底 宜賓 黃南 湛江 寶雞 鎮(zhèn)江 南陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel5.1 框架登錄和注冊實(shí)現(xiàn)方法詳解》,本文關(guān)鍵詞  Laravel5.1,框架,登錄,和,注冊,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Laravel5.1 框架登錄和注冊實(shí)現(xiàn)方法詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Laravel5.1 框架登錄和注冊實(shí)現(xiàn)方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    成安县| 肇州县| 清涧县| 肥乡县| 峨山| 咸阳市| 盐津县| 格尔木市| 嘉义市| 尼勒克县| 团风县| 尤溪县| 陵川县| 玉林市| 昌图县| 张家界市| 乌兰浩特市| 那坡县| 彰化县| 昔阳县| 城市| 石楼县| 台北市| 朝阳县| 黄浦区| 宜黄县| 洪泽县| 铜山县| 临邑县| 平乐县| 繁昌县| 涞水县| 仲巴县| 柳州市| 扎兰屯市| 共和县| 全南县| 田阳县| 志丹县| 安国市| 呼和浩特市|