LoginController.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace App\Http\Controllers\Auth;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\Username;
  5. use Illuminate\Foundation\Auth\AuthenticatesUsers;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Validation\ValidationException;
  8. class LoginController extends Controller
  9. {
  10. /*
  11. |--------------------------------------------------------------------------
  12. | Login Controller
  13. |--------------------------------------------------------------------------
  14. |
  15. | This controller handles authenticating users for the application and
  16. | redirecting them to your home screen. The controller uses a trait
  17. | to conveniently provide its functionality to your applications.
  18. |
  19. */
  20. use AuthenticatesUsers;
  21. /**
  22. * Where to redirect users after login.
  23. *
  24. * @var string
  25. */
  26. protected $redirectTo = '/';
  27. /**
  28. * Create a new controller instance.
  29. *
  30. * @return void
  31. */
  32. public function __construct()
  33. {
  34. $this->middleware('guest')->except('logout');
  35. }
  36. public function username()
  37. {
  38. $login = request()->input('username');
  39. $user = Username::firstWhere('username', $login)?->user;
  40. if ($user) {
  41. $login = $user->id;
  42. }
  43. request()->merge(['id' => $login]);
  44. return 'id';
  45. }
  46. /**
  47. * Get the failed login response instance.
  48. *
  49. * @param \Illuminate\Http\Request $request
  50. * @return \Symfony\Component\HttpFoundation\Response
  51. *
  52. * @throws \Illuminate\Validation\ValidationException
  53. */
  54. protected function sendFailedLoginResponse(Request $request)
  55. {
  56. throw ValidationException::withMessages([
  57. 'username' => [trans('auth.failed')],
  58. ]);
  59. }
  60. }