[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 基于 CAS 实现通用的单点登录解决方案(三):用户单点退出实现

前面两篇教程学院君陆续介绍了 CAS 单点登录实现原理,CAS Server 及 Client 环境搭建和单点登录流程演示,这篇教程我们简单来介绍下 CAS 单点退出实现。 原理概述 基于 CAS 单点登录系统的退出主要包含两个部分: CAS 客户端应用的退出 CAS 服务端退出登录状态 我们在 CAS 客户端应用退出后将页面重定向到服务端退出登录状态,然后通过传递过去的回跳地址跳转...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过监听注册登录、邮箱验证事件实现简单的积分功能

如果你的网站有积分功能,往往会给新注册激活的用户一定的初始积分,每日签到/登录积分奖励等,在 Laravel 框架驱动的应用中,我们可以通过监听相应的事件来设置用户积分,下面我们就来简单演示其实现过程,并以此为例介绍用户注册登录事件监听及处理。 用户注册、登录和邮箱验证事件类 Laravel 框架底层已经提供,我们只需要通过事件监听器或订阅者来监听处理这些事件即可。 注:关于事件类的定...

[ Laravel 5.7 文档 ] 测试系列 —— 模拟

简介 测试 Laravel 应用的时候,你可能还想要“ 模拟 ”应用的特定状态,以便在测试中不让它们真的执行。例如,测试触发事件的控制器时,你可能想要模拟事件监听器以便它们不在测试期间真的执行。这样的话你就可以只测试控制器的 HTTP 响应,而不必担心事件监听器的执行,因为事件监听器可以在它们自己的测试用例中被测试。 Laravel 开箱为模拟事件、任务以及门面提供了辅助函数,这些辅助函...

[ Laravel 5.7 文档 ] 数据库操作 —— 快速入门

简介 Laravel 让连接不同数据库以及对数据库进行增删改查操作变得非常简单,不论使用原生 SQL、还是查询构建器,还是 Eloquent ORM。目前,Laravel 支持四种类型的数据库系统: MySQL Postgres SQLite SQL Server 配置 应用的数据库配置位于 config/database.php(但是数据库用户及密码等敏感信息位于 .env 文件,...

[ Laravel 5.7 文档 ] 进阶系列 —— 队列

简介 注:Laravel 现在提供了基于 Redis 的,拥有美观的后台和配置系统的 Horizon 队列扩展包,完整信息参考 Horizon文档。 Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应...

[ Laravel 5.7 文档 ] 进阶系列 —— 通知

简介 除了支持发送邮件之外,Laravel 还支持通过多种传输通道发送通知,这些通道包括邮件、短信(通过 Nexmo)以及 Slack 等。通知可以存储在数据库以便后续在 Web 界面中显示。 通常,通知都是很短的、用于告知用户应用中所发生事件的消息。例如,如果你在开发一个计费应用,则需要通过邮件或短信等渠道给用户发送“账单支付”通知。 创建通知 在 Laravel 中,每个通知都以单独...

[ Laravel 5.7 文档 ] 进阶系列 —— 邮件

简介 Laravel 基于 SwiftMailer 库提供了一套干净、清爽的邮件 API。Laravel 为 SMTP、Mailgun、SparkPost、Amazon SES、PHP 的 mail 函数,以及 sendmail 提供了驱动,从而允许你快速通过本地或云服务发送邮件。 邮件驱动预备知识 基于 API 的驱动如 Mailgun 和 SparkPost 通常比 SMTP 服务器...

[ Laravel 5.7 文档 ] 进阶系列 —— 事件

简介 Laravel 事件提供了简单的观察者模式实现,允许你订阅和监听应用中的事件。事件类通常存放在 app/Events 目录,监听器存放在 app/Listeners。如果你在应用中没有看到这些目录,不要担心,它们会在你使用 Artisan 命令生成事件和监听器的时候自动创建。 事件为应用功能模块解耦提供了行之有效的解决办法,因为单个事件可以有多个监听器而这些监听器之间并不相互依赖。...

[ Laravel 5.7 文档 ] 进阶系列 —— 缓存

配置 Laravel 为不同的缓存系统提供了统一的 API。缓存配置位于 config/cache.php。在该文件中你可以指定在应用中默认使用哪个缓存驱动。Laravel 开箱支持主流的缓存后端如 Memcached 和 Redis 等。 缓存配置文件还包含其他文档化的选项,确保仔细阅读这些选项。默认情况下,Laravel 被配置成使用文件缓存(file 驱动),这会将序列化数据和缓存...

[ Laravel 5.7 文档 ] 进阶系列 —— 广播

简介 在很多现代 Web 应用中,Web 套接字(WebSockets)被用于实现实时更新的用户接口。当一些数据在服务器上被更新,通常一条消息通过 Websocket 连接被发送给客户端处理。这为我们提供了一个更强大的、更有效的选择来持续拉取应用的更新。 为帮助你构建这样的应用,Laravel 让通过 Websocket 连接广播事件变得简单。广播 Laravel 事件允许你在服务端和客...