> For the complete documentation index, see [llms.txt](https://liseen315.gitbook.io/laravel/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://liseen315.gitbook.io/laravel/yong-hu-ren-zheng-yu-shou-quan.md).

# 用户认证与授权

创建一个基本的用户认证系统-包括注册，登录，会话，密码重置，以及访问权限，常常是相对耗时的一件事。将这些功能抽取成库成了主要的任务，并且有很多这样的库。

但是，由于不同项目对身份验证的需求不同，大多数身份验证系统都变得笨重，很快就无法使用。值得庆幸的是，Laravel已经找到了一种方法，使认证系统易于使用和理解，但其灵活性足以适应各种场景。

每一个新安装的Laravel都有现成的create\_users\_table迁移和用户模型。Laravel提供一个Artisan make:auth命令用于填充认证集合和路由。每次安装都有RegisterController, 一个LoginController, 一个ForgotPasswordController, 和一个 ResetPasswordController。API干净清晰，各种约定协同工作，提供简单，无缝的身份验证和授权系统。

> 5.3之前Laravel的认证结构差异
>
> 请注意，在Laravel 5.1和5.2中，大多数功能都位于AuthController中；在5.3及更高版本中，此功能已拆分为多个控制器。我们将在这里介绍的关于如何自定义重定向路由、授权保护等的许多细节与5.1和5.2中有所不同（尽管所有核心功能都是相同的）。因此，如果您在5.1或5.2上，并且希望更改一些默认的身份验证行为，那么您可能需要深入了解AuthController，以了解您应该如何准确地自定义它。
