title: Custom login and registration with auth laravel 5.7
body: <p>I'm trying to create the first project with <em>Laravel 5.7</em>. </p>
  
  <p>In this project I have three different areas with three different login (ex. Login for users, login for admin, login for technicians).<br /></p>
  
  <p>Now, I would like to customize the first login (url, html, input, class, db table, db column ecc...) but I don't know how to do.</p>
  
  <p>The <strong>URL</strong> of first login is <code>website.com/public/users</code></p>
  
  <p>My <strong>Table</strong> is:<br /></p>
  
  <pre><code>CREATE TABLE `gf_users` (
    `gf_id` int(11) NOT NULL,
    `gf_name` text NOT NULL,
    `gf_email` varchar(200) NOT NULL,
    `gf_password` varchar(300) NOT NULL,
  ) 
  </code></pre>
  
  <p>I have searched a lot and with the information that I have found, I have tried to do this:</p>
  
  <p><strong>config/auth.php</strong>:</p>
  
  <pre><code>return [
  
      'defaults' =&gt; [
          'guard' =&gt; 'web',
          'passwords' =&gt; 'users',
      ],
  
      'guards' =&gt; [
          'web' =&gt; [
              'driver' =&gt; 'session',
              'provider' =&gt; 'users',
          ],
  
          'api' =&gt; [
              'driver' =&gt; 'token',
              'provider' =&gt; 'users',
          ],
      ],
  
      'providers' =&gt; [
          'users' =&gt; [
              'driver' =&gt; 'eloquent',
              'model' =&gt; App\GFUsers::class
          ],
      ],
  
      'passwords' =&gt; [
          'users' =&gt; [
              'provider' =&gt; 'users',
              'table' =&gt; 'password_resets',
              'expire' =&gt; 60,
          ],
      ],
  
  ];
  </code></pre>
  
  <p><strong>web.php</strong><br /></p>
  
  <pre><code>Route::get('users', 'Auth\LoginController@showLoginFormUsers')-&gt;name('login');
  Route::post('users', 'Auth\LoginController@login');
  </code></pre>
  
  <p><strong>LoginController.php</strong></p>
  
  <pre><code>public function showLoginFormUsers(){
     return view('users.login');
  }
  
  public function username(){
     return 'gf_email';
  }
  </code></pre>
  
  <p><strong>GFUsers.php</strong><br /></p>
  
  <pre><code>namespace App;
  
  use Illuminate\Notifications\Notifiable;
  use Illuminate\Contracts\Auth\MustVerifyEmail;
  use Illuminate\Foundation\Auth\User as Authenticatable;
  
  class GFUsers extends Authenticatable
  {
      use Notifiable;
  
      protected $table = 'gf_users';
      protected $primaryKey = 'gf_id';
  
      /**
       * The attributes that are mass assignable.
       *
       * @var array
       */
      protected $fillable = [
          'gf_email', 'gf_password',
      ];
  
      /**
       * The attributes that should be hidden for arrays.
       *
       * @var array
       */
      protected $hidden = [
          'gf_password'
      ];
  
  
      public function getAuthPassword(){
          return $this-&gt;gf_password;
      }
  }
  </code></pre>
  
  <p><strong>login.blade.php</strong><br /></p>
  
  <pre><code>&lt;form method="POST" action="{{ asset('/users') }}"&gt;
  @csrf
    &lt;div class="form-group"&gt;
      &lt;input type="email" class="form-control" name="gf_email" id="gf_email" placeholder="Email" required&gt;
    &lt;/div&gt;
    &lt;div class="form-group"&gt;
      &lt;input type="password" class="form-control" name="gf_password" id="gf_password" placeholder="Password" required&gt;
    &lt;/div&gt;
    &lt;button type="submit" class="btn btn-primary"&gt;LOGIN&lt;/button&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>If I compile the form and click on login button, this refresh the page but I don't understand if it works or not. <br /></p>
  
  <p><strong>1</strong>. Is the procedure correct?<br />
  <strong>2</strong>. Are there some errors? <br />
  <strong>3</strong>. Have I forget something?<br />
  <strong>4</strong>. What can I do for registration?<br /></p>