位置: 编程技术 - 正文

示例详解Laravel的注册重构(laravel实战教程)

编辑:rootadmin

推荐整理分享示例详解Laravel的注册重构(laravel实战教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:laravel原理理解,laravel常用命令,laravel常用命令,laravel原理理解,laravel实战教程,laravel技巧,laravel 实例,laravel技巧,内容如对您有帮助,希望把文章链接给更多的朋友!

1. 首先确定用户注册的路由

我们在安装好laravel的时候默认生成的注册是用邮箱进行注册的,并且有些选项不需要,有些还需要加一些表单选项

我们注册的话,并不是可以随便注册的,只有一些超级管理员才能进行注册

首先我们使用上次创建的UserController进行配置,如果没有的话,可以使用php artisan make:controller UserController创建一个控制器类

然后创建两条路由Route::get('register', 'UserController@getRegister')和Route::post('register', 'UserController@postRegister')

前者是显示一个注册的页面get请求,后面是注册账号的post请求。

2. 显示注册账号页面

这个使用的是getRegister这个方法,这个方法只需要显示一个视图所以并没有特别的逻辑

3. 请求注册账号

这个使用的是postRegister这个方法

注册账号的话和重置密码一样,而且比注册账号还要简单点。

我们在往数据库里插入一条用户纪录的时候,可以使用User::create($data)进行插入。

$data是个数组,里面存放了每个字段的键和值

4. 完成后的示例

UserController

register.blade

5. 中间件?用户必须登录

现在注册都完成了,我们就差用户的判断了。 需求注册账号必须只能是有超级管理员权限的账号才可以注册。

这种情况下按照我们一般的步骤就是在postRegister方法里直接查出用户的信息,然后查看用户是否满足这个权限,不满足的情况下就跳转到其它页面。

这种方法可以,但是,我们既然有超级管理员和管理员这些权限区分,肯定不止一个地方使用,其它地方也会用到。

然后会有人想到在model里写个方法,以后有需要都可以直接调用。

这个方法也可以,不过,我们推荐使用laravel提供的中间件这个功能,这个功能非常强大,也非常好用。现在我们就使用中间件这个功能。

示例详解Laravel的注册重构(laravel实战教程)

因为我们是后台内容管理系统,所以,我们首先创建一个中间件,功能是,所有页面进入前,必须是登录状态,否则跳到登录页。

查看手册发现可以使用php artisan make:middleware CheckLoginMiddleware命令创建一个中间件,当然复制一个差不多的文件,改下也是一样的。

然后会在app/Http/Middleware/目录下创建了一个CheckLoginMiddleware中间件文件,里面只有一个handle()方法,我们直接在里面增加我们的功能

这个中间件的功能是,如果有路由产生,首先使用Auth::check()判断用户是否登录,如果没有登录的跳转到登录页。

方法写好了,但是还不能使用,我们需要注册下这个中间件,告诉框架我们这个中间件写好了,可以使用了,使用的范围是哪里。

在app/Http/目录下有个Kernel.php文件是注册这个中间件的,也就是告诉框架,我们写好了这个中间件。

而Kernel.php文件里有两个数组属性,一个$middleware表示全局使用,一个$routeMiddleware表示可以选择使用。

全局使用的意思是,不管你请求哪个页面,都会先执行这个中间件。

选择使用表示,需要哪个HTTP请求,要求执行中间件,就在哪个地方执行。

这里每个页面都要求必须登录的话,可定是注册一个全局的,在$middleware数组属性里加入一条

注册下,就可以使用了

>注意:请记住,如果定义全局的要格外小心,比如上面我们要排除登录页,不然因为用户没有登录,所以在哪个页面都会重定向到登录页,当然也包括登陆页

6. 中间件?特殊页面需要验证用户组

现在是进行用户权限页面的限制,同样我们也要重新创建一个中间件

使用php artisan make:middleware CheckGroupMiddleware创建一个新的中间件,用来判断这个用户是否满足这个权限

这里我们还是通过Auth::user()来获取到用户的信息,然后判断用户的组,不属于超级管理员就跳到首页。

然后我们在到app/Http/目录下有个Kernel.php文件是注册这个中间件的,这次我们注册为可以选择的中间件。

这个中间件因为是可以选择的,所以我们还需要给它起个别名,在$routeMiddleware数组属性里加如一条

创建一个可以使用usergroup这个名字使用的中间件。

创建好后,我们可以选择在哪里使用,一个是在router.php的路由文件里加入,一个是在controller里使用

在router.php文件里使用

在控制器内使用

这里我们选择在路由里添加中间件。让注册页面只能是超级管理员才可以注册

我们目前只有两个路由要判断权限,所以使用了链式的写法,当然你也可以按照手册里上使用组的方式,组的方式更为优雅。

当然如果你的整个控制器内的方法都需要中间件进行验证过滤的话,你也可以创建组的形式,也可以直接在控制器内使用__construct方法,让每次请求这个控制器时,先执行中间件

总结

标签: laravel实战教程

本文链接地址:https://www.jiuchutong.com/biancheng/301420.html 转载请保留说明!

上一篇:PHP实现路由映射到指定控制器(php 路由实现)

下一篇:总结PHP中数值计算的注意事项(php中的数据类型有哪些?)

  • 委外加工怎么做仓库账
  • 外经证预交税怎么算
  • 资产损失税前扣除管理办法
  • 国外客户手续费差异账务处理如何做?
  • 支付劳务报酬怎么做账
  • 电子商务平台支付的区别
  • 旅行社差额征税增值税申报表怎么填
  • 个人应纳税所得额怎么算
  • 实收资本未注明投资款
  • 绿植租赁公司都适合什么名字
  • 政府奖励如何记账
  • 公司购买房屋涉税问题
  • 个人所得税的税率是多少
  • 企业为职工缴纳的五险一金占工资总额的多少
  • 动漫软件公司的发展前景
  • 总资产平均余额是资产总额吗
  • 封装windows10
  • 穿越火线改名卡买完了怎么用
  • 影响资金等值的三个因素
  • 2023个人出租房屋房产税
  • win7系统鼠标不能用了怎么设置
  • 其他应付款余额在借方表示什么意思
  • linux1970
  • 损益类科目包括利润分配吗
  • 银行利息收入应计入什么科目
  • vue获取当前路由地址
  • php 电商
  • 计提工会经费会计账务处理
  • 增值税已认证抵扣
  • 处置固定资产清理费用影响利润吗
  • 合并报表中为什么要抵损益
  • 城镇土地使用税征收标准及计算方法
  • 跨年的发票可以退税吗
  • 织梦如何开启会员功能
  • python socket连接后发送数据被强行终止
  • MySQL数据库存储引擎
  • 帝国cms移动端
  • sqlserver2005 master与msdb数据库备份恢复过程
  • 工会经费税务代收是什么意思
  • 劳务成本账务处理
  • 招标押金有规定吗
  • 失业保险金领取多少钱
  • 职工工伤住院期间的各项费用由谁负责
  • 办公室里的咖啡馆玛氏市场细分
  • 工程在建期间的招待费计入什么科目
  • 房地产企业代收费用
  • 因员工过失造成的工伤用不用赔
  • 收到投资方投入设备一台会计科目
  • 生产企业支付的房租怎么入账
  • 赔付支出包括
  • 存货的发出计价方法有哪些
  • 公司的房租发票怎么开
  • 业务招待费需附上清单
  • 股权投资业务是什么意思
  • 利润分配未分配利润怎么结转
  • 其他货币资金存出投资款借方增加还是减少
  • mysql alter table修改表命令整理
  • sql纵向排列改为横向
  • office技术预览版和增强版
  • centos双网卡配置
  • linux监视内存详细信息命令
  • 电脑主板bios是什么意思
  • boot from
  • 怎么操作win10系统
  • mpcmdrun.exe是什么进程
  • win10系统的文件夹选项在哪里
  • Win10系统下怎么将韩语切换成简体中文?
  • win7网络正常但是所有浏览器网页打不开
  • win7系统重装后蓝屏
  • excel最小化后再次选择不弹出来
  • excel表格时间选择
  • 不得不佩服自己的搞笑说说
  • python怎么生成excel
  • androidui布局
  • 怎样用python
  • python黑魔法手册
  • 有效的沟通的好处
  • jquery3.3.1
  • 电子税务局驱动安装步骤
  • 重庆市电子税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设