[ Laravel 5.1 文档 ] 服务 —— 用户授权

1、简介 除了提供“开箱即用”的认证服务之外,Laravel还提供了一个简单的方式来管理授权逻辑以便控制对资源的访问权限。在Laravel中,有很多种方法和帮助函数来协助你管理授权逻辑,本文档将会一一覆盖这些方法。 注意:授权在Laravel 5.1.11版本中引入,在将该特性集成到应用之前请参考升级指南。 2、定义权限(Abilities) 判断用户是否有权限执行给定动作的最简单方式就…

中间件实例教程 —— 中间件的创建使用及中间件参数定义

1、中间件简介 Laravel中可以把HTTP中间件看做“装饰器”,在请求到达最终动作之前对请求进行过滤和处理。 中间件在Laravel中有着广泛的应用,比如用户认证、日志、维护模式、开启Session、从Session中获取错误信息,以及上一篇教程中提到的CSRF验证,等等。 中间件类默认存放在app/Http/Middleware目录下。 2、中间件创建及其使用 我们在《HTTP路由…

HTTP路由实例教程(三)—— CSRF攻击原理及其防护

1、什么是CSRF攻击 CSRF是跨站请求伪造(Cross-site request forgery)的英文缩写。关于CSRF攻击原理及其防护,可查看Github上的这个项目:理解CSRF,说得比较详细和透彻。 2、Laravel中如何避免CSRF攻击 Laravel框架中避免CSRF攻击很简单:Laravel自动为每个用户Session生成了一个CSRF Token,该Token可用于…

[ Lumen 5.1 文档 ] 更多特性 —— 验证

1、简介 Lumen提供了多种方法来验证应用输入数据。默认情况下,Lumen的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验证规则来验证输入的HTTP请求。 2、快速入门 要学习Lumen强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的例子。 2.1 定义路由 首先,我们假定在app/Http/routes…

[ Lumen 5.1 文档 ] 基础 —— HTTP 请求

1、访问请求 通过依赖注入获取当前HTTP请求实例,应该在控制器的构造函数或方法中对Illuminate\Http\Request类进行类型提示,当前请求实例会被服务容器自动注入: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Routing\Controller;…

[ Lumen 5.1 文档 ] 基础 —— HTTP 控制器

1、简介 将所有的请求处理逻辑都放在单个routes.php中肯定是不合理的,你也许还希望使用控制器类组织管理这些行为。控制器可以将相关的HTTP请求封装到一个类中进行处理。通常控制器存放在app/Http/Controllers目录中。 2、基本控制器 下面是一个基本控制器类的例子。所有的Lumen控制器应该继承自Lumen安装默认的基本控制器: <?php namespace …

[ Lumen 5.1 文档 ] 基础 —— HTTP 中间件

1、简介 HTTP中间件提供了一个便利的机制来过滤进入应用的HTTP请求。例如,Lumen包含了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可以记录…

[ Laravel 5.1 文档 ] 服务 —— 验证

1、简介 Laravel提供了多种方法来验证应用输入数据。默认情况下,Laravel的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验证规则来验证输入的HTTP请求。 2、快速入门 要学习Laravel强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的例子。 2.1 定义路由 首先,我们假定在app/Http/…

[ Laravel 5.1 文档 ] 服务 —— 测试

1、简介 Laravel植根于测试,实际上,内置使用PHPUnit对测试提供支持是即开即用的,并且phpunit.xml文件已经为应用设置好了。框架还提供了方便的帮助方法允许你对应用进行富有表现力的测试。 tests目录中提供了一个ExampleTest.php文件,安装完新的Laravel应用后,只需简单在命令行运行phpunit来运行测试。 1.1 测试环境 运行测试的时候,Lara…

[ Laravel 5.1 文档 ] 服务 —— 队列

1、简介 Laravel队列服务为各种不同的后台队列提供了统一的API。队列允许你推迟耗时任务(例如发送邮件)的执行,从而大幅提高web请求速度。 1.1 配置 队列配置文件存放在config/queue.php。在该文件中你将会找到框架自带的每一个队列驱动的连接配置,包括数据库、Beanstalkd、 IronMQ、 Amazon SQS、 Redis以及同步(本地使用)驱动。其中还包…