LoginController.php 2.5 KB

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