CheckPasswordSafe.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace app\common\middleware;
  3. use app\platform\modules\system\models\SystemSetting;
  4. use app\common\traits\JsonTrait;
  5. use Closure;
  6. class CheckPasswordSafe
  7. {
  8. use JsonTrait;
  9. /**
  10. * Handle an incoming request.
  11. *
  12. * @param \Illuminate\Http\Request $request
  13. * @param \Closure $next
  14. * @return mixed
  15. */
  16. public function handle($request, Closure $next)
  17. {
  18. $user = \Auth::guard('admin')->user();
  19. if($user->uid != 1)
  20. {
  21. $loginset = SystemSetting::settingLoad('loginset', 'system_loginset');
  22. if($loginset['password_change'] == 1){
  23. if(!$user->change_password_at)
  24. {
  25. $user->change_password_at = time();
  26. $user->save();
  27. return $this->successJson('成功', ['pwd_remind' => 1,'msg'=>'首次登陆,建议您修改密码']);
  28. }
  29. }else{
  30. if(!$user->change_password_at)
  31. {
  32. $user->change_password_at = time();
  33. $user->save();
  34. }
  35. }
  36. if($user->change_password_at && $user->change_password_at+6912000 <= time() && $user->change_remind == 0 && $loginset['force_change_pwd'] == 1)
  37. {
  38. $user->change_remind = 1;
  39. $user->save();
  40. return $this->successJson('成功', ['pwd_remind' => 1,'msg'=>'您已长时间未修改密码,请您先修改密码,否则账号将在10天后冻结']);
  41. }
  42. }
  43. return $next($request);
  44. }
  45. }