<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>用户登录</title> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" > </head> <body> <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading">Login</div> <div class="panel-body"> <form action="{{ url('/auth/login') }}" method="post" role="form" class="form-horizontal"> <input type="hidden" name="_token" value="{{ csrf_token() }}"> <div class="form-group"> <label class="col-md-4 control-label">邮箱:</label> <div class="col-md-6"> <input type="email" name="email" class="form-control"> </div> </div> <div class="form-group"> <label class="col-md-4 control-label">密码:</label> <div class="col-md-6"> <input type="password" name="password" class="form-control"> </div> </div> <div class="form-group"> <div class="col-md-offset-4 col-md-8"> <button type="submit" class="btn btn-primary">登录</button> </div> </div> </form> </div> </div> </div> </div> </div> </body> </html>
Laravel5.1 框架登录和注册实现方法详解(3)
4.2 登录后跳转
登录后的跳转跟注册后的跳转是一样的:
protected $redirectPath = '/';
4.3 登录失败跳转
当登录失败了Laravel会默认跳转回 auth/login 路由,这也是可以自定义的:
protected $loginPath = '/error';
4.4 修改登录用户名
默认的登陆用户名是邮箱,我们可以在AuthController中自定义:
// 该属性默认为email,改成name是以用户名作为账号类型登录。 protected $username = 'name';
4.5 查看用户信息
我们可以通过Auth门面的方法来访问已经登录进来的用户:
Auth::user()
4.6 检查用户是否登录
if (Auth::check()) { // 这个用户已经登录... }
4.7 用于登录失败次数限制
Laravel支持这种逻辑,我们只需要在AuthController中引入 ThrottlesLogins 这个trait 即可。一分钟内登录5次都不成功就会锁闭一分钟,它是基于 用户名/邮箱和IP地址的。