[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Laravel 内置脚手架快速实现邮箱验证功能

之前我们陆续介绍了基于 Web 路由和 API 路由的各种认证实现,在 Laravel 5.7 框架中还内置支持了邮箱验证功能,邮箱验证从一定程度上损耗了用户体验,需要用户验证注册邮箱后才能访问认证路由,但是可以有效避免垃圾用户,从长期来看对系统生态来说是利大于弊的。下面我们就 Laravel 框架内置的邮箱验证功能演示下如何使用。 路由配置 首先,在 routes/web.php 路由...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Passport 实现 API 请求认证:令牌作用域详解

通过前面几篇教程,学院君给大家完整介绍了 API 认证的各种实现方式,你应该可以总结出一个规律:API 接口认证归根结底其实就是获取授权令牌,然后在请求中带上这个令牌对认证接口进行访问的过程,不同的实现方式其实就是获取令牌的方式不同而已,后面都是一样的。 除此之外,在认证过程中,有时候我们还需要对令牌的授权作用域进行限制,不是认证接口的所有返回数据都可以通过该令牌进行访问,或者不是所有接...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Passport 实现 API 请求认证:单页面应用篇

OAuth 与 Passport 前面我们介绍的用户认证都是基于 Web 请求路由的,本质上都是基于 Session 实现的用户认证。在前后端分离大行其道的时代(这里提到的前后端分离包括前端与后端、App与后端、小程序与后端),基于 API 请求的认证也非常常见,但是我们知道常见的 Session 技术都是结合客户端 Cookie 来实现的,从后端剥离出去的前端应用无法通过 API 请求...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 基于多表的用户认证功能实现(前后台用户)

Laravel 支持基于多表的用户认证,即同时允许不同数据表用户(如前台用户、后台用户)进行登录认证。下面我们就以前后台用户登录认证为例,简单介绍基于不同数据表实现用户注册及登录功能。 1、生成认证脚手架 关于这一块内容我们已经在通过内置脚手架快速实现用户认证这篇教程中详细讨论过,如果你对此不了解,可以去查看对应内容,如果已经看过,请跳过此步骤。 2、实现前台用户登录 我们用框架自带的 ...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过内置脚手架快速实现用户认证

今天开始我们将开启用户认证与授权系列,主要规划了以下内容: 通过内置命令快速实现登录认证功能 用户登录注册流程及多字段登录实现 基于多表的用户认证功能实现 基于 API 的用户认证功能实现 用户认证相关事件触发及监听 邮箱验证及找回密码功能实现 不同系统用户单点登录实现 基于 ACL 的用户权限管理实现 基于 RBAC 的用户权限管理实现 希望通过这个系列的学习,可以帮助你彻底掌握 ...

SMProxy,让你的数据库操作快三倍!

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个; 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。 这项技术能明显提高对数据库操作的性能。...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(三十七) —— 管理后台后端动作审核接口实现

从这篇教程开始,我们将开始为 Roast 应用构建管理后台,在上一篇教程中,我们为咖啡店的增删改查加上了权限管理,普通用户针对咖啡店的新增、修改和删除请求都会在后台管理员审核后才能执行,否则就是躺在数据库里的一条记录而已,我们将从这个功能出发构建我们的后台管理系统。 由于整个工作量比较大,所以我们会分三篇教程来实现这个管理后台和审核功能,首先我们还是从 Laravel 后端接口开始,先来...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(二十八) —— 通过 Vuex + Vue Router 导航守卫在前端实现认证路由保护

我们已经在上一篇教程中实现了通过 Vue 组件实现用户登录,但是现在有个问题,就是用户在没有登录的情况下也可以访问需要认证的页面,比如新增咖啡店页面: 虽然在提交表单数据到后台 API 时不会成功,但是这会给用户造成困扰,所以,我们需要对这种需要认证页面的访问请求进行拦截,我们以前在开发非单页面应用时,会在访问这种页面时从后端进行判断,比如经过 auth 中间件进行过滤,如果需要认证则...

[ Laravel 从入门到精通 ] Laravel 路由分组规则:中间件、子域名、路由前缀和命名空间

常言道「物以类聚,人以群分」,同样,在日常开发中,我们通常会将具有某些共同特征的路由进行分组,这些特征包括是否需要认证、是否具有共同的路由前缀或者子域名、以及是否具有相同的控制器命名空间等,显然,对路由按照共同特征进行分组后可以避免重复为某些路由定义相同的路由特征,让代码更加简洁,可读性和可维护性更好。 所谓路由分组,其实就是通过 Route::group 将几个路由聚合到一起,然后给...

[ Laravel 5.7 文档 ] 安全系列 —— 邮箱验证

简介 很多 Web 应用都要求用户注册之后验证邮箱地址才能登录,为此,Laravel 也提供了便捷方法来发送和验证邮箱验证请求,但是这个功能是可选的,你可以启用也可以不启用。 数据库配置 注:如果要使用邮箱验证功能,需要让 App\User 模型类实现 Illuminate\Contracts\Auth\MustVerifyEmail 接口。 邮箱验证字段 接下来,users 表必须...