检查用户在原生多重身份验证Laravel中登录的活动状态的最佳方法是什么?

时间:2018-01-30 12:00:55

标签: php laravel-5

我正在使用laravel multi-auth。我有一个名为status的表列。在登录时,我想比较用户是活动还是活动。如果仅激活登录,如果没有提供消息'非活动帐户,请联系管理员'。

这是我的登录控制器。

    <?php
    namespace Modules\University\Http\Controllers;  

    class LoginController extends Controller
    {
        protected $redirectTo = '/university';

        public function __construct()
        {
            $this->middleware('guest:university', ['except' => ['universityLogout']]);
        }

        public function showLoginForm()
        {

            return view('university::login');
        }

        public function login(Request $request)
        {
            $this->validate($request, [
                'email' => 'required|email',
                'password' => 'required|min:6',
            ]);

            //attempt to log the user in
            if(Auth::guard('university')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)){

/****Here I want check whether university status is active or not and give message if not else login*****/

                return redirect()->intended(route('university.dashboard'));
            }


            Session::flash('failed', 'Login credential incorrect!');
            return redirect()
                ->back()
                ->withInput($request->only('email', 'remember'));
        }

        public function universityLogout(Request $request)
        {
            Auth::guard('university')->logout();
            return redirect(route('university.login'));
        }
    }

提前致谢。

1 个答案:

答案 0 :(得分:1)

     if(Auth::guard('university')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)){

 if( Auth::guard('university')->user()->status == 'inactive')
{

return redirect()->route('university.dashboard-inactive');
}

                    return redirect()->intended(route('university.dashboard'));
                }

如果要在尝试登录之前进行检查,您可以通过电子邮件地址查询数据库以检查其状态,然后在状态为活动时通过登录尝试进行检查。如果您想以任何方式登录,无论状态如何,只有在不活动时重定向,上述内容才有效。

相关问题