首页 文章

用户在注册登录后需要管理员批准,并在注册后立即重定向到登录页面

提问于
浏览
3

在我的带有默认身份验证系统的Laravel 5.5应用程序中,我正在尝试实现这样的登录过程,

1.我在 users 表中有 is_approved 字段,默认为0;

2.如果管理员批准了用户,则该用户将为1,用户可以登录 .

3.注册后,用户将被重定向到登录页面,并显示“您已成功注册 . 请等待管理员批准” .

因此,当用户注册时,他应该被重定向到登录页面而不是家中,如果他尝试使用电子邮件和密码登录登录页面,则应该说“你还没有被批准!” .

我需要在Laravel身份验证系统中对此进行修改吗?

1 回答

  • 2

    我覆盖并修改 RegisterController 中的 register 方法,

    public function register(Request $request)
        {
            $this->validator($request->all())->validate();
    
            event(new Registered($user = $this->create($request->all())));
    
            return redirect()->back()->with('success', 'You have been successfully registered!. Please wait for the admin approval');
        }
    

    并在我的 LoginController 中覆盖并修改 credentials 方法,

    public function credentials(Request $request)
        {
            return [
                'email' => $request->email,
                'password' => $request->password,
                'is_approved' => 1,
            ];
        }
    

    它的工作完美!

相关问题