[Laravel] 8.x 自定義會員登入功能
使用者登入功能
自定義
1.新增 Middleware2.修改 Kernel
3.route 綁定 middleware
4.修改 Session 的存活時間 (可略)
5.修改 "記住我" Cookie 的過期時間 (可略)
☞ Laravel 8 custom authentication | part one
☞ Laravel 8 custom authentication | part two
☞ [Laravel] 如何設定 Session 的存活時間 與 當關閉瀏覽器時 清除 Session
☞ 教你修改 Laravel "記住我" Cookie 的過期時間
使用內建
☞ Laravel Auth: 為網站加入會員囉~☞ 用戶認證
☞ 使用者登入的功能摘要
☞ Laravel內建註冊&登入機制
☞ Auth in Laravel 8: Fortify and Laravel UI (without Jetstream)
☞ Laravel 的使用者登入 (一) 實作步驟
登入畫面加入「驗證碼」的方法
手動安裝 mews captcha
1. 下載擴展 GitHub 驗證碼包:Mews Captcha Package,存放到專案目錄 vendor 裡2. 修改專案根目錄 composer.json 文件,添加
"require": { ... "mews/captcha": "^3.2" }, "minimum-stability": "dev",
當你執行指令
composer require mews/captcha
└ vendor 底下會自動生成「mews」資料夾
└ composer.json 會自動添加以上內容
3. 找到 config/app.php 文件,添加:
'providers' => [ ... Mews\Captcha\CaptchaServiceProvider::class, ], 'aliases' => [ ... 'Captcha' => Mews\Captcha\Facades\Captcha::class, ]
4. 新建 config/captcha.php 文件 (等同下指令
php artisan vendor:publish
)☞ Laravel-5.1驗證碼 mews captcha
☞ Laravel 8 Captcha Code Tutorial
☞ Create Captcha in Laravel - Laravel 8 Tutorial
☞ 【擴展推薦】mews/captcha 圖片驗證碼解決方案
☞ laravel 使用mews/captcha驗證碼
☞ How to Create Captcha in Advance Laravel
☞ Adding Google ReCaptcha to forms in Laravel
google reCAPTCHA
1. 前往 https://www.google.com/recaptcha/admin 來獲取一個網站金鑰與密鑰2. 根據 文件教學,引用 JS 檔,及畫面添加 HTML 碼
3. 根據 文件教學,表單傳送後,通過密鑰來驗證提交
4. 完整教學,詳見 reCAPTCHA Implementation in Laravel 8 PHP, without a package
☞ Laravel 生產實踐:為個人網站配置谷歌 reCAPTCHA 身份驗證系統
☞ 如何整合“No CAPTCHA reCAPTCHA”(驗證碼)到你的網站裡
登入畫面加入「記住我」的方法 1. 如果你的用戶名表格,不叫做 users,請更改 app\Models\User.php 添加
public $table = "自訂的用戶表格名"; protected $primaryKey = '自訂的用戶表格名主鍵';
2. 如果你的用戶名表格的密碼欄位,不叫做 password,請更改 app\Models\User.php 添加
public function getAuthPassword() { return $this->自訂的密碼欄位名; }
3. 自訂的用戶表格名添加欄位「remember_token」,字串長度 100
在開始之前,請先確認您的 users (或其他同義) 資料表包含一個名為 remember_token 的欄位,欄寬 100 字元、字串型態、可接受 null。這個欄位將會被用來儲存「記住我」的 session token。Laravel 認證與安全性
4. 認證一個使用者,並且「記住」他
假如您想要在您的應用程式內提供「記住我」的選項,您可以在 attempt 方法的第二個參數給 true 值,這樣就可以
永久保留這個用戶的登錄狀態,直到他手動登出為止
。當然,您的 users 資料表必需包括一個字串型態的 remember_token 欄位來儲存「記住我」的標記。if (Auth::attempt(array('email' => $email, 'password' => $password), true)) { // The user is being remembered... }
☞ Auth::attempt() failed for custom database fields.
☞ Laravel auth attempt not working or returning false always?
☞ Laravel: How can I change the default Auth Password field name?
☞ How to implement Remember me in Laravel 8?
☞ Remember logged in Laravel 8.X | Dashboard V13
☞ Laravel '記住我' 功能實現
☞ Laravel: What is “remember_token” in the “users” DB table?
資料驗證錯誤訊息中文化的方法 1. 修改專案路徑下的檔案 config/app.php,將 locale、fallback_locale、faker_locale 修改為繁體中文「zh_TW」。
2. 下載繁體中文語言包 Laravel-lang
3. 下載回來 src 資料夾裡面有各式各樣的翻譯,把「zh_TW 資料夾」複製到專案路徑下的 resources/lang 的資料夾中。
4. 在專案底下執行指令清除config
php artisan config:cache
php artisan cache:clear
php artisan view:clear
5. resources/lang/zh_TW/validation.php 自定義 attributes
☞ 驗證資料格式、設定系統語系
☞ Laravel 8 Custom Validation Error Messages Tutorial
表單提交後,表單上提示錯誤訊息,並保留原輸入值 ☞ How to Keep value of selected option after form submission
☞ Retain old form data on validation error in Laravel
☞ Laravel Forms And Validation Rules With Example
☞ Laravel 8 Custom Validation Rules Example (php artisan make:rule)
☞ Laravel tip #8: Custom validation rule with a parameter (rule 帶參數)
☞ Laravel custom validation rule refering to other request params (rule 自訂錯誤訊息)
☞ If statement within form input value
☞ Passing variable with route parameter when form is submitted Laravel 5.2
☞ Day22 laravel Validation 驗證格式
☞ How to show old data of dynamic checkbox in Laravel? (checkbox 多選)
☞ Day22 laravel Validation 驗證格式
縣市與鄉鎮連動的方法 ☞ Laravel Dynamic Dependent Dropdown using Ajax
☞ Laravel Forms: Select Dependent Dropdowns with jQuery and AJAX
連線資料庫 ☞ Database: Getting Started
☞ Laravel 5.3 - Clear config cache in shared hosting
☞ Laravel query with “if” conditions?
☞ Laravel Wherein Query Example
☞ Laravel 學習筆記(15) - 資料庫之 Query Builder
Laravel 設定時區 1. 修改專案路徑下的檔案 config/app.php,將 timezone 修改為台灣「Asia/Taipei」。
☞ [轉][Laravel] Laravel 5.4 設定時區
☞ [程式設計]解決PHP中UTC時區時間錯誤問題
網路作品 ☞ Setting selected option in Laravel 8 form edit | #16
☞ QuickAdminPanel Demo 2021
☞ Laravel: How To Create Your Own Custom Validation Rule
☞ laravel 8 crud step by step (學生資料,對資料庫進行查詢/新增/修改/刪除)
Laravel 自定義 404 Error Page 不想讓 user 看到 laravel 預設的 error page。當 user 輸入一個不存在的網址,或嘗試用 GET 直接訪問 method 為 post 的 route,都可以全部 redirect 404
1. 在 resources/views 路徑下,新建 「
errors
」 資料夾,並新增「404.blade.php
」檔案☞ laravel route設定post後如何避免用戶直接訪問此url
☞ How to Create Custom 404 Page in Laravel 8 Application
沒有留言: