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

Php 用户注册后需要管理员批准才能登录,注册后立即重定向到登录页面,php,laravel-5.5,Php,Laravel 5.5,在我的带有默认身份验证系统的Laravel 5.5应用程序中,我尝试实现这样的登录过程 1.我在users表中有一个is_approved字段,默认为0 2.如果管理员批准了一个用户,它将是1,用户可以登录 3.注册后,用户将被重定向到登录页面,并显示消息“You 已成功注册。请等待管理员批准” 因此,当用户注册时,他应该被重定向到登录页面而不是主页,如果他试图使用电子邮件和密码登录登录页面,则应该显示“您尚未获得批准!” 在Laravel身份验证系统中,我需要为此修改什么?我覆盖并修改我的Re

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

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

2.如果管理员批准了一个用户,它将是1,用户可以登录

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

因此,当用户注册时,他应该被重定向到登录页面而不是主页,如果他试图使用电子邮件和密码登录登录页面,则应该显示“您尚未获得批准!”


在Laravel身份验证系统中,我需要为此修改什么?

我覆盖并修改我的
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
中,我覆盖并修改
凭证
方法

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

它工作得很好

实现这一点的方法有很多。您可以在登录控制器中添加
受保护的函数attemptLogin(Request$Request)
,以覆盖等效函数,或者您可以添加中间件,以检查用户是否已登录,如果未经批准,则注销,以及许多其他方法。首先,当你遇到具体的编程问题时,你应该尝试一下,然后问一个问题。我注册了用户,然后把他带回家。我不太确定我需要为这个问题修改哪个特性或控制器。