Laravel 认证与授权系统全解析
1. 认证系统基础
Laravel 的认证系统提供了丰富的功能和便捷的工具,帮助开发者快速搭建用户认证体系。
1.1 登录限流
AuthenticatesUsers
特性会检查是否引入了 ThrottlesLogins
特性,若引入,将自动为登录功能添加限流。默认的 LoginController
引入了这两个特性,使用认证脚手架即可免费获得此功能。
ThrottlesLogins
会限制同一用户名和 IP 地址组合在 60 秒内最多尝试 5 次登录。它使用缓存来记录失败登录次数,若用户在 60 秒内失败 5 次,将被重定向到登录页面并显示错误信息,直到 60 秒结束。
1.2 密码重置控制器
- ResetPasswordController :引入
ResetsPasswords
特性,该特性提供验证和基本密码重置视图访问功能,使用Laravel
的PasswordBroker
类处理发送密码重置邮件和实际重置密码操作。-
showResetForm()
:显示auth.passwords.reset
视图。 -
reset()
:验证并发送相应响应。
-