laravel 实现用户登录注销并限制功能


Posted in PHP onOctober 24, 2019

1. 创建登录控制器

在项目根目录输入: php artisan make:controller Admin/LoginController

laravel 实现用户登录注销并限制功能

2.创建用户模块 以及数据库

php artisan make:model Model/Admin -m

laravel 实现用户登录注销并限制功能

运行之后 项目中会新增两个PHP文件

laravel 实现用户登录注销并限制功能

新创建了admins用户表,此用户表默认新建中只有主键,创建时间,编辑时间。我们接下来新加两个字段 用户名(username)

和密码(password).

laravel 实现用户登录注销并限制功能

在up函数中加上这两个字段,后面可以按自己的需求添加属性。

laravel默认的字符集是utf8mb4,新增的数据库字段会有这个字符集,想要改成utf8 可以直接修改datebase

laravel 实现用户登录注销并限制功能

接下来运行数据迁移命令 php artisan migrate 来创建数据表

laravel 实现用户登录注销并限制功能

运行之后数据库中新增了admins表

laravel 实现用户登录注销并限制功能

3.填充数据

因为还没有做注册所以我们利用tinker来表中填充数据,如果已经做了注册功能就不用坐下面的步骤了,也可以直接运行sql,直接

填充,保证密码加密。

首先在配置中添加想要新增的数据。在datebase/factories/

laravel 实现用户登录注销并限制功能

define方法里面写自己的用户模块的命名,里面加上默认密码。

laravel 实现用户登录注销并限制功能

之后运行php artisan tinker 命令 里面输入 factory(模块命名,条数);

运行之后数据库中新增了三条数据,实例中密码都是admin。

laravel 实现用户登录注销并限制功能

4.用户登录配置

首先在config/auth.php中添加配置,框架默认都是走的自带的User模块。

laravel 实现用户登录注销并限制功能

加上图中的两个配置,命名按照自己的模块名字来命名。

修改模块继承函数跟系统的自带的User.php一样就可以了。

laravel 实现用户登录注销并限制功能

5.登录函数

这里先略过前段页面的表单的写法以及表单提交的方式,直接获取数据的函数来写。

$statue = Auth::guard('admin')->attempt([
   'username'=>$request->input('username'),
   'password'=>$request->input('password'),
   
  ]);

以上就是登录函数,guard函数中写入自己在auth.php配置中写的命名。指定用户登录的表。

laravel 实现用户登录注销并限制功能

在前段页面中获取的时候也要指定命名。

laravel 实现用户登录注销并限制功能

6.限制页面权限

后台登陆首页之前判断是否登陆,如果没有登录则跳转到登录页。

首先做一个中间件,让每个页面控制器运行之前先运行中间件,我们在中间件中写一些页面是否有权限访问的动作。

laravel 实现用户登录注销并限制功能

运行之后里面填写验证指定的表用户是否登陆

laravel 实现用户登录注销并限制功能

之后我们在kernel.php中添加中间件

laravel 实现用户登录注销并限制功能

我们在登录的控制器中调用,并指定哪个函数不需要限制。

laravel 实现用户登录注销并限制功能

7.注销

laravel 实现用户登录注销并限制功能

以上这篇laravel 实现用户登录注销并限制功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
php下HTTP Response中的Chunked编码实现方法
Nov 19 PHP
PHP 数组入门教程小结
May 20 PHP
由php的call_user_func传reference引发的思考
Jul 23 PHP
如何用php获取文件名后缀
Jun 09 PHP
php对图像的各种处理函数代码小结
Jul 08 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
PHP类型约束用法示例
Sep 28 PHP
详解PHP序列化和反序列化原理
Jan 15 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 #PHP
laravel5.5安装jwt-auth 生成token令牌的示例
Oct 24 #PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 #PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 #PHP
laravel5.1 ajax post 传值_token示例
Oct 24 #PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 #PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 #PHP
You might like
收音机指标测试方法及仪器
2021/03/01 无线电
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
PHP 编写的 25个游戏脚本
2009/05/11 PHP
php的lavarel框架中join和orWhere的用法
2020/12/28 PHP
Cookie 小记
2010/04/01 Javascript
jquery实现居中弹出层代码
2010/08/25 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
2015/08/31 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
PyCharm 设置SciView工具窗口的方法
2019/01/15 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
如何在Django项目中引入静态文件
2019/07/26 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
优秀村官事迹材料
2014/01/10 职场文书
运动会加油口号
2014/06/07 职场文书
新教师个人工作总结
2015/02/06 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
2015年社区党务工作总结
2015/04/21 职场文书
幼儿园开学报名通知
2015/07/16 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS