用户认证
介绍
Laravel 中实现用户认证非常简单。实际上,几乎所有东西都已经为你配置好了。配置文件位于 config/auth.php
,其中包含了用于调整认证服务行为的、标注好注释的选项配置。
在其核心代码中,Laravel 的认证组件由 guards
和 providers
组成,Guard 定义了用户在每个请求中如何实现认证,例如,Laravel 通过 session
guard 来维护 Session 存储的状态和Cookie。而另一个 token
guard 是做为认证用户发送请求时带的 API token
。
Provider 定义了如何从持久化存储中获取用户信息,Laravel 底层支持通过 Eloquent 和数据库查询构建器两种方式来获取用户,如果需要的话,你还可以定义额外的 Provider。
如果看到这些名词觉得很困惑,大可不必太过担心,因为对绝大多数应用而言,只需使用默认认证配置即可,不需要做什么改动。
数据库注意事项
默认的 Laravel 在 app
文件夹中会含有 App\User
Eloquent 模型。这个模型将使用默认的 Eloquent 认证来驱动。如果你的应用程序没有使用 Eloquent,请选择使用 Laravel 查询构造器的 database
认证驱动。
为 App\User
模型创建数据库表结构时,确认密码字段最少必须 60 字符长。
users
数据表中必须含有 nullable 、100 字符长的 remember_token
字段,这个字段将会被用来保存「记住我」 session 的令牌。只要在创建迁移时,使用 $table->rememberToken()
,即可轻松加入这个字段。