LoginController.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace App\Http\Controllers\Admin\Auth;
  3. use App\Http\Controllers\Admin\Controller;
  4. use Illuminate\Foundation\Auth\AuthenticatesUsers;
  5. use Validator, Auth;
  6. class LoginController extends Controller
  7. {
  8. /*
  9. |--------------------------------------------------------------------------
  10. | Login Controller
  11. |--------------------------------------------------------------------------
  12. |
  13. | This controller handles authenticating users for the application and
  14. | redirecting them to your home screen. The controller uses a trait
  15. | to conveniently provide its functionality to your applications.
  16. |
  17. */
  18. use AuthenticatesUsers;
  19. /**
  20. * Where to redirect users after login.
  21. *
  22. * @var string
  23. */
  24. protected $redirectTo = '/admin';
  25. /**
  26. * Create a new controller instance.
  27. *
  28. * @return void
  29. */
  30. public function __construct()
  31. {
  32. $this->middleware('guest', ['except' => 'logout']);
  33. }
  34. /**
  35. * 重写登录视图页面
  36. * @author 晚黎
  37. * @date 2016-09-05T23:06:16+0800
  38. * @return [type] [description]
  39. */
  40. public function showLoginForm()
  41. {
  42. return view('admin.auth.login');
  43. }
  44. /**
  45. * 自定义认证驱动
  46. * @author 晚黎
  47. * @date 2016-09-05T23:53:07+0800
  48. * @return [type] [description]
  49. */
  50. protected function guard()
  51. {
  52. return auth()->guard('admin');
  53. }
  54. public function username()
  55. {
  56. return 'name';
  57. }
  58. public function login(\Illuminate\Http\Request $request)
  59. {
  60. $validator = Validator::make($data = $request->all(),
  61. [
  62. 'name' => 'required', 'password' => 'required',
  63. ],
  64. [
  65. 'name.required'=>'请输入用户名',
  66. 'password.required'=>'请输入密码'
  67. ]
  68. );
  69. if ($validator->fails()) {
  70. $msg = $validator->messages()->first();
  71. return $this->showWarning($msg);
  72. }
  73. if (!Auth::guard('admin')->attempt(['name' => $request->name, 'password' => $request->password])){
  74. return $this->showMessage('用户名或密码错误!');
  75. }
  76. return redirect('/admin');
  77. }
  78. public function logout()
  79. {
  80. Auth::guard('admin')->logout();
  81. return redirect('/admin/login');
  82. }
  83. }