Skip to content

Instantly share code, notes, and snippets.

@sohelamin
Created November 1, 2016 16:52
Show Gist options
  • Save sohelamin/80a82064b583619624c09617020724f9 to your computer and use it in GitHub Desktop.
Save sohelamin/80a82064b583619624c09617020724f9 to your computer and use it in GitHub Desktop.
Laravel Custom Authentication
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
public function login(Request $request)
{
$username = $request->username;
$this->validate($request, [
'username' => 'required', 'password' => 'required',
]);
$field = filter_var($username, FILTER_VALIDATE_EMAIL) ? 'email' : 'username';
$credentials = [$field => $username, 'password' => $request->password];
if (Auth::attempt($credentials, $request->has('remember'))) {
return $this->sendLoginResponse($request);
}
$this->incrementLoginAttempts($request);
return $this->sendFailedLoginResponse($request);
}
protected function authenticated(Request $request, $user)
{
if ($user->hasRole('admin')) {
return redirect('/admin');
}
return redirect('home');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment