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 關注
- 134 瀏覽
添加回答
舉報