学院君 has written 848 articles

终身学习者,Laravel学院院长

[ Laravel 5.6 文档 ] 安全系列 —— 重置密码

简介 想要快速实现该功能?只需要在新安装的 Laravel 应用下运行 php artisan make:auth(如果你已经执行过此命令,可忽略),然后在浏览器中访问 http://your-app.test/register 或者其他分配给应用的 URL,该命令会生成用户登录注册所需要的所有东西,包括密码重置! 大多数 Web 应用都提供了为用户重置密码的功能,Laravel 也不例…

[ Laravel 5.6 文档 ] 安全系列 —— 哈希

简介 Laravel 的 Hash 门面为存储用户密码提供了安全的 Bcrypt 和 Argon2 哈希算法。如果你正在使用 Laravel 应用自带的 LoginController 和 RegisterController 控制器,它们将会自动在注册和认证时使用默认的 Bcrypt 算法。 注:Bcrypt 是散列密码的绝佳选择,因为其「工作因子」是可调整的,这意味着随着硬件功能的提…

[ Laravel 5.6 文档 ] 安全系列 —— 加密

简介 Laravel 的加密器使用 OpenSSL 来提供 AES-256 和 AES-128 加密。强烈建议使用 Laravel 自带的加密设置,不要尝试推出自己“土生土长”的加密算法。所有 Laravel 加密过的值都使用消息授权码(MAC)进行签名以便底层值一经加密就不能修改。 配置 在使用 Laravel 的加密器之前,必须在配置文件 config/app.php 中设置 key…

[ Laravel 5.6 文档 ] 安全系列 —— 授权

简介 除了提供开箱即用的认证服务之外,Laravel 还提供了一个简单的方式来管理授权逻辑以便控制对资源的访问权限。和认证一样,在 Laravel 中实现授权很简单,主要有两种方式:Gate 和 Policy。 可以将 Gate 和 Policy 分别看作路由和控制器,Gate 提供了简单的基于闭包的方式进行授权,而 Policy 和控制器一样,对特定模型或资源上的复杂授权逻辑进行分组,…

[ Laravel 5.6 文档 ] 安全系列 —— API 认证

简介 Laravel 通过传统的登录表单已经让用户认证变得很简单,但是 API 认证怎么实现?API 通常使用令牌(token)进行认证并且在请求之间不维护会话(Session)状态。Laravel 官方扩展包 Laravel Passport 让 API 认证变得轻而易举,Passport 基于 Alex Bilbie 维护的 League OAuth2 server,可以在数分钟内为…

[ Laravel 5.6 文档 ] 安全系列 —— 登录认证

简介 注:想要快速上手?只需要在新安装的 Laravel 应用下运行 php artisan make:auth 和 php artisan migrate,这两个命令会生成用户登录注册所需要的所有东西,然后在浏览器中访问 http://your-app.dev/register 即可。 Laravel 中实现登录认证非常简单。实际上,几乎所有东西 Laravel 都已经为你配置好了。配…

[ Laravel 5.6 文档 ] Eloquent ORM —— 序列化

简介 当构建 JSON API 时,经常需要转化模型和关联关系为数组或 JSON。Eloquent 提供了便捷方法以便实现这些转换,以及控制哪些属性被包含到序列化中。 序列化模型 & 集合 序列化为数组 要转化模型及其加载的关联关系为数组,可以使用 toArray 方法。这个方法是递归的,所以所有属性及其关联对象属性(包括关联的关联)都会被转化为数组: $user = App\U…

[ Laravel 5.6 文档 ] Eloquent ORM —— API 资源类

简介 构建 API 时,在 Eloquent 模型和最终返回给应用用户的 JSON 响应之间可能需要一个转化层。Laravel 的资源类允许你以简单优雅的方式将模型和模型集合转化为 JSON 格式数据。 生成资源类 要生成一个资源类,可以使用 Artisan 命令 make:resource,默认情况下,资源类存放在应用的 app/Http/Resources 目录下,资源类都继承自 I…

[ Laravel 5.6 文档 ] Eloquent ORM —— 访问器和修改器

简介 访问器和修改器允许你在获取模型属性或设置其值时格式化 Eloquent 属性。例如,你可能想要使用 Laravel 加密器对存储在数据库中的数据进行加密,并且在 Eloquent 模型中访问时自动进行解密。 除了自定义访问器和修改器,Eloquent 还可以自动转换日期字段为 Carbon 实例甚至将文本转换为JSON。 访问器 & 修改器 定义访问器 要定义一个访问器,需…

[ Laravel 5.6 文档 ] Eloquent ORM —— 集合

简介 Eloquent 返回的包含多条记录的结果集都是 Illuminate\Database\Eloquent\Collection 对象的实例,包括通过 get 方法或者通过访问关联关系获取的结果。Eloquent 集合对象继承自 Laravel 的集合基类,因此很自然的继承了很多处理 Eloquent 模型底层数组的方法。 当然,集合也是迭代器,允许你像 PHP 数组一样对其进行循…