博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
laravel5通过auth.attempt事件加入登陆验证码
阅读量:6838 次
发布时间:2019-06-26

本文共 1201 字,大约阅读时间需要 4 分钟。

auth = $auth; $this->registrar = $registrar; //注册auth.attemp事件 //加入验证码的验证 $this->auth->attempting(function()use($request){ $phrase = \Session::get('phrase'); if($request->input('phrase') != $phrase){ throw new HttpResponseException( redirect('/auth/login')->withInput($request->input())->withErrors(['phrase'=>'验证码错误']) ); } }); $this->middleware('guest', ['except' => 'getLogout']); }}

需要特别说明的是HttpResponseException这个异常,这个异常接收一个Response作为参数,在Illuminate\Routing\Route的run方法中会捕获这个异常并返回设置的Response,所以我们可以通过抛出这个异常来终止我们的应用程序并跳转

public function run(Request $request)    {        $this->container = $this->container ?: new Container;        try        {            if ( ! is_string($this->action['uses']))                return $this->runCallable($request);            if ($this->customDispatcherIsBound())                return $this->runWithCustomDispatcher($request);            return $this->runController($request);        }        catch (HttpResponseException $e)        {            return $e->getResponse();        }    }

 

转载于:https://www.cnblogs.com/xiaodo0/p/4397982.html

你可能感兴趣的文章
xml 学习
查看>>
一次性验证码
查看>>
Mac设置信认任意来源应用
查看>>
基于matlab的退化图像复原(二)------逆滤波复原
查看>>
jquery中的each各种神奇遍历用法
查看>>
代码同步到树莓派
查看>>
obj-c 坑
查看>>
MySql数据库概念
查看>>
javascript中将整数添加千位符号
查看>>
软件测试艺术一:程序正确性证明
查看>>
面向对象课程第二单元作业总结
查看>>
Linux下运行C语言程序
查看>>
一句white-space:nowrap解决IE6,IE7下浮动元素不自动换行
查看>>
SQL Server中的小技巧(重复、替换、截取、去空格、去小数点后的位数)
查看>>
codevs 5963 [SDOI2017]树点染色
查看>>
2549 自然数和分解
查看>>
渔夫捕鱼问题
查看>>
ASP.NET Calendar 控件
查看>>
数据库表设计
查看>>
如何正确的理解漏极开路输出跟推挽输出?
查看>>