AccountController.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php namespace App\Http\Controllers\Admin;
  2. /**
  3. * 用户账号管理操作相关
  4. */
  5. use App\Http\Controllers\Controller;
  6. use Illuminate\Contracts\Auth\Guard;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Session;
  9. class AccountController extends Controller {
  10. /**
  11. * The Guard implementation.
  12. *认证模块
  13. * @var Guard
  14. */
  15. protected $auth;
  16. public function __construct(Guard $auth){
  17. $this->auth = $auth;
  18. }
  19. /*
  20. * 用户登录入口,包含登录页面显示以及登录处理
  21. * @param Request $request
  22. * @return \Illuminate\View\View
  23. */
  24. public function login(Request $request){
  25. /*登录表单处理*/
  26. if($request->isMethod('post'))
  27. {
  28. $request->flashOnly('email');
  29. /*表单数据校验*/
  30. $this->validate($request, [
  31. 'password' => 'required|min:6',
  32. 'captcha' => 'required|captcha'
  33. ]);
  34. /*只接收email和password的值*/
  35. $credentials = [
  36. 'email' => $request->user()->email,
  37. 'password' => $request->input('password')
  38. ];
  39. /*根据邮箱地址和密码进行认证*/
  40. if ($this->auth->attempt($credentials))
  41. {
  42. session(['admin.login'=>true]);
  43. /*认证成功后跳转到首页*/
  44. return redirect()->to(route('admin.index.index'));
  45. }
  46. /*登录失败后跳转到首页,并提示错误信息*/
  47. return redirect(route('admin.account.login'))
  48. ->withInput($request->only('email'))
  49. ->withErrors([
  50. 'password' => '用户名或密码错误,请核实!',
  51. ]);
  52. }
  53. return view("admin.account.login");
  54. }
  55. /**
  56. * 用户登出
  57. */
  58. public function logout(){
  59. Session::forget('admin.login');
  60. return redirect()->guest(route('admin.account.login'));
  61. }
  62. }