Hi @hadayat
What exactly not working? What is the error you see? Right now I just little confused about this line
$this->middleware('guest:admin')
I Created the custom login auth in my application, and I want to add some other stuff in login query so I can validate the user active users.
I use this function to laravel built-in Login-controller and it successfully works
public function credentials(Request $request)
{
$credentials = $request->only($this->username(), 'password');
$credentials = Arr::add($credentials, 'id', '2');
return $credentials;
}
When I am adding this into my custom Login Controller it is not working
Built-in laravel login (Which is successfully working)
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = RouteServiceProvider::HOME;
public function __construct()
{
$this->middleware('guest')->except(['userlogout']);
}
public function userlogout()
{
Auth::guard('web')->logout();
return redirect('/login');
}
public function credentials(Request $request)
{
$credentials = $request->only($this->username(), 'password');
$credentials = Arr::add($credentials, 'id', '1');
return $credentials;
}
}
My Custom controller Which is not working
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
class AdminLoginController extends Controller
{
use AuthenticatesUsers;
public function __construct()
{
$this->middleware('guest:admin')->except(['userlogout','logout']);
}
public function showLoginForm()
{
return view('auth.admin-login');
}
public function login(Request $request)
{
$this->validate($request, [
'email'=>'required|email',
'password'=>'required|min:6',
]);
if(Auth::guard('admin')->attempt(['email'=>$request->email, 'password'=>$request->password], $request->remember))
{
return redirect()->intended(route('admin.dashboard'));
}
return redirect()->back()->withInput($request->only('email','remember'));
}
public function logout()
{
Auth::guard('admin')->logout();
return redirect()->route('admin.login');
}
public function credentials(Request $request)
{
$credentials = $request->only($this->username(), 'password');
$credentials = Arr::add($credentials, 'id', '1');
return $credentials;
}
}
here
public function login(Request $request)
{
$this->validate($request, [
'email'=>'required|email',
'password'=>'required|min:6',
]);
if(Auth::guard('admin')->attempt(['email'=>$request->email, 'password'=>$request->password], $request->remember))
{
return redirect()->intended(route('admin.dashboard'));
}
return redirect()->back()->withInput($request->only('email','remember'));
}
you rewrited default login function. So, just try to add you status here
if(Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password, 'status' => 1], $request->remember))
{
return redirect()->intended(route('admin.dashboard'));
}
Please or to participate in this conversation.