LoginController.php 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace App\Http\Controllers\Auth;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Foundation\Auth\AuthenticatesUsers;
  6. use Illuminate\Support\Facades\Auth;
  7. use Illuminate\Validation\ValidationException;
  8. use Redirect;
  9. use Session;
  10. class LoginController extends Controller
  11. {
  12. /*
  13. |--------------------------------------------------------------------------
  14. | Login Controller
  15. |--------------------------------------------------------------------------
  16. |
  17. | This controller handles authenticating users for the application and
  18. | redirecting them to your home screen. The controller uses a trait
  19. | to conveniently provide its functionality to your applications.
  20. |
  21. */
  22. use AuthenticatesUsers;
  23. /**
  24. * Where to redirect users after login.
  25. *
  26. * @var string
  27. */
  28. protected $redirectTo = '/backend';
  29. protected $maxAttempts = 5;
  30. protected $decayMinutes = 10;
  31. /**
  32. * Create a new controller instance.
  33. *
  34. * @return void
  35. */
  36. public function __construct()
  37. {
  38. $this->middleware('guest', ['except' => 'logout']);
  39. }
  40. protected function validateLogin(Request $request)
  41. {
  42. $validateRules = [
  43. 'g-recaptcha-response' => 'required',
  44. ];
  45. $validateMessage = [
  46. 'g-recaptcha-response.required' => '請點選我不是機器人',
  47. ];
  48. $request->validate($validateRules, $validateMessage);
  49. $recaptcha = new \ReCaptcha\ReCaptcha('6LfkEvohAAAAABqmn1qQTNZnacY2rI2Z0hfzJO8-'); // reCaptcha secretKey
  50. $resp = $recaptcha->verify($request->input('g-recaptcha-response'), $request->ip());
  51. if (!$resp->isSuccess()) {
  52. throw ValidationException::withMessages(['error' => 'recaptcha 驗證失敗']);
  53. }
  54. }
  55. }