LoginController.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. namespace App\Http\Controllers\Admin\Auth;
  3. use App\Models\AdminUserModel;
  4. use App\Services\Admin\AdminUser;
  5. use App\Http\Controllers\Admin\Controller;
  6. use Illuminate\Foundation\Auth\AuthenticatesUsers;
  7. use Validator, Auth;
  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 = '/admin';
  27. /**
  28. * Create a new controller instance.
  29. *
  30. * @return void
  31. */
  32. public function __construct()
  33. {
  34. $this->_service = new AdminUser();
  35. $this->middleware('guest', ['except' => 'logout']);
  36. }
  37. /**
  38. * 重写登录视图页面
  39. * @author 晚黎
  40. * @date 2016-09-05T23:06:16+0800
  41. * @return [type] [description]
  42. */
  43. public function showLoginForm()
  44. {
  45. session()->put('is_we7','true');
  46. return view('admin.auth.login');
  47. }
  48. /**
  49. * 自定义认证驱动
  50. * @author 晚黎
  51. * @date 2016-09-05T23:53:07+0800
  52. * @return [type] [description]
  53. */
  54. protected function guard()
  55. {
  56. return auth()->guard('admin');
  57. }
  58. public function username()
  59. {
  60. return 'name';
  61. }
  62. public function wxLogin()
  63. {
  64. $store_id = session()->get('store_id');
  65. // dd($store_id);die;
  66. $wUser = session()->get('wUser');
  67. $wAccount = session()->get('wAccount');
  68. if ($wUser['groupid'] == 0) {
  69. $res = AdminUserModel::where([['name', 'album' . $wUser['name']],['is_root', 1]])->first();
  70. } else {
  71. $res = AdminUserModel::where([['name', 'album' . $wUser['name']],['store_id', $store_id]])->first();
  72. }
  73. if (!$res) {
  74. $createUser['name'] = 'album' . $wUser['name'];
  75. $createUser['real_name'] = 'album' . $wUser['username'];
  76. $createUser['password'] = bcrypt('qweqwe');
  77. $createUser['type'] = 0;
  78. $createUser['status'] = 1;
  79. $createUser['is_root'] = $wUser['groupid'] == 0 ? 1 : null;
  80. $createUser['store_id'] = $store_id;
  81. $createUser['admin_role_id'] = 9;
  82. $res = AdminUserModel::create($createUser);
  83. }
  84. if (Auth::guard('admin')->loginUsingId($res->id)) {
  85. session()->put('store_id', $store_id);
  86. $userAuth = Auth::guard('admin')->user();
  87. session()->put('is_we7','true');
  88. return redirect('?route=Admin/Base/Index/index');
  89. }
  90. //dd('success');
  91. }
  92. public function login(\Illuminate\Http\Request $request)
  93. {
  94. $validator = Validator::make($data = $request->all(),
  95. [
  96. 'name' => 'required', 'password' => 'required',
  97. ],
  98. [
  99. 'name.required'=>'请输入用户名',
  100. 'password.required'=>'请输入密码'
  101. ]
  102. );
  103. if ($validator->fails()) {
  104. $msg = $validator->messages()->first();
  105. return $this->showWarning($msg);
  106. }
  107. $res = $this->_service->login($request->name, $request->password);
  108. if($res) {
  109. session()->put('is_we7','true');
  110. return redirect('?route=Admin/Base/Index/index');
  111. }else{
  112. $msg = $this->_service->getMsg();
  113. $this->showWarning($msg);
  114. }
  115. return redirect('?route=Admin/Auth/Login/showLoginForm');
  116. }
  117. public function logout()
  118. {
  119. session()->forget('store_id');
  120. Auth::guard('admin')->logout();
  121. return redirect('?route=Admin/Auth/Login/showLoginForm');
  122. }
  123. }