2 回答
TA贡献1788条经验 获得超4个赞
您可以创建一个全局中间件来检查用户是否被接受:
namespace App\Http\Middleware;
use Closure;
class CheckIfAccepted
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (auth()->check() && !auth()->user()->isAccepted) {
auth()->logout();
return redirect('not-accepted');
}
return $next($request);
}
}
此中间件将注销任何未被接受的经过身份验证的用户,并将他们重定向到您选择的路线。
更改auth()->user()->isAccepted为包含有关已接受状态信息的属性或方法。
如果您希望中间件在每个请求时运行,您可以通过将其添加到$middleware-array in 中,将其添加为全局中间件app/Http/Kernel.php。
您可以在文档中阅读有关中间件以及如何创建它们的更多信息: https ://laravel.com/docs/master/middleware
TA贡献1846条经验 获得超7个赞
首先,您必须让管理员在收到通知时更新用户的属性
User::where('id' , $user_id)->update(['is_request' => 0]);
然后将其添加到您的登录控制器中
public function credentials(Request $request)
{
$credentials = $request->only($this->username(), 'password');
$credentials = array_add($credentials, 'is_request', 0);
return $credentials;
}
- 2 回答
- 0 关注
- 81 浏览
添加回答
举报