时间:2021-05-26
本文实例讲述了Laravel5.1 框架登录和注册实现方法。分享给大家供大家参考,具体如下:
关于登录和注册 Laravel自带了一套组件实现了这一功能,我们只需要实现简单的视图即可。
AuthController是专门管理用户注册和登录的。
PassWordController是重置密码用的,今天暂不做记录。
我们可以在 config/auth.php 文件中进行用户认证的配置:
<?phpreturn [ 'driver' => 'eloquent', 'model' => App\User::class, 'table' => 'users', 'password' => [ 'email' => 'emails.password', 'table' => 'password_resets', 'expire' => 60, ],];这是默认的配置,注释写的很清楚了 如果有特别需要可以做更改,一般情况中我们使用默认的就OK。
注册视图的路径必须放在 views/auth/ 目录中 并命名为 register.blade.php。
<!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">Register</div> <div class="panel-body"> <form action="{{ url('/auth/register') }}" 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="text" name="name" class="form-control" autofocus> </div> </div> <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"> <label class="col-md-4 control-label">确认密码:</label> <div class="col-md-6"> <input type="password" name="password_confirmation" 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>注册后跳转的URL有时候不是我们想要的,你可以自定义跳转路由,在AuthController中添加即可:
protected $redirectPath = '/';我们注册后已经有了用户了 现在可以试试登录的实现了。
登录的视图路径也是有规定的:views/auth/ 然后命名为:login.balde.php
<!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>登录后的跳转跟注册后的跳转是一样的:
protected $redirectPath = '/';当登录失败了Laravel会默认跳转回 auth/login 路由,这也是可以自定义的:
protected $loginPath = '/error';默认的登陆用户名是邮箱,我们可以在AuthController中自定义:
// 该属性默认为email,改成name是以用户名作为账号类型登录。protected $username = 'name';我们可以通过Auth门面的方法来访问已经登录进来的用户:
Auth::user()Laravel支持这种逻辑,我们只需要在AuthController中引入 ThrottlesLogins 这个trait 即可。一分钟内登录5次都不成功就会锁闭一分钟,它是基于 用户名/邮箱和IP地址的。
我们只需要访问 /auth/logout 就可以登出用户了,当然还有一个方法 就是Auth门面方法:
Auth::logout();更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了laravel5.1框架下的批量赋值实现方法。分享给大家供大家参考,具体如下:官方中文文档在这里:http://laravel-china.org
本文实例讲述了Laravel5.1框架分页展示实现方法。分享给大家供大家参考,具体如下:Laravel为我们提供了一套分页的逻辑,我们无需自己实现分页逻辑,只需
本文实例讲述了Laravel5.1框架注册中间件的三种场景。分享给大家供大家参考,具体如下:在Laravel中注册中间件主要有三种场景,一种给控制器中的方法进行
本文实例讲述了Laravel5.1自定义500错误页面的方法。分享给大家供大家参考,具体如下:Laravel5.1中500错误是程序错误,程序错误一定是系统自带
本文实例讲述了Laravel5.1框架自带权限控制系统ACL用法。分享给大家供大家参考,具体如下:Laravel在5.1.11版本中加入了Authorizati