2 回答
TA贡献1829条经验 获得超6个赞
您可以创建一个全局中间件来检查用户是否被接受:
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
如果希望中间件在每次请求时都运行,则可以将其添加为全局中间件,方法是将其添加到 中的 -array 中。$middlewareapp/Http/Kernel.php
您可以在文档中阅读有关中间件以及如何创建中间件的更多信息:https://laravel.com/docs/master/middleware
TA贡献1886条经验 获得超2个赞
首先,您必须使管理员在收到通知时更新用户的属性
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 关注
- 105 浏览
添加回答
举报