ขั้นตอนการเปลี่ยนให้ Laravel Authentication ตอนล็อกอิน (login) ให้ใช้ฟิลด์ชื่อ username แทนที่จะใช้ email
สำหรับ middleware(‘auth’)
แก้ไขไฟล์ app/Http/Controllers/Auth/AuthController.php โดยเพิ่ม property ชื่อ username ให้เป็นชื่อฟิลด์ที่ต้องการใช้ ตามตัวอย่าง
$ vi app/Http/Controllers/Auth/AuthController.php
...
class AuthController extends Controller
{
...
protected $username = 'username';
....
สำหรับ middleware(‘auth.basic’)
copy ไฟล์ AuthenticateWithBasicAuth.php จาก vendor/laravel/framework ไปไว้ใน app/Http/Middleware/
$ cp vendor/laravel/framework/src/Illuminate/Auth/Middleware/AuthenticateWithBasicAuth.php app/Http/Middleware/AuthenticateWithBasicAuth.php
แก้ไขใน method ชื่อ handle() โดยใส่ฟิลด์ชื่อ username ในการเรียก method ชื่อ basic()
$ vi app/Http/Middleware/AuthenticateWithBasicAuth.php
...
class AuthenticateWithBasicAuth
{
....
public function handle($request, Closure $next, $guard = null)
{
return $this->auth->guard($guard)->basic('username') ?: $next($request);
}
...