官方文档:Laravel 5.2文档服务——用户认证

如果你看官方文档不太懂,那么请看下文操作。

说明

框架版本:laravel 5.2

laravel 5.2内置了auth用户认证服务,所以做网站时用户认证似乎变得简单了很多,再加上框架的中间件机制,实现路由保护功能也更加方便快捷了。

laravel 框架源自外国人开发,许多思想和我们的不太一样,刚开始看的时候我还是一头雾水,可能接触少的缘故;后来看了部分源码才知道具体的过程,所以这里写篇教程帮助入门需要的朋友。

初始化Auth

laravel 5.2内置了auth用户认证服务,laravel有专门的命令来快速创建auth用户认证的一些东西,比如路由注册,默认视图等。

初始化(请开启cmd命令行,cd到laravel框架目录)

php artisan make:auth

这个命令执行了的操作:

生成了注册、登录、重置密码、主页等视图,请在 resources/views 文件夹中查看;
创建了HemoController.php文件,在 app/Http/Controllers 文件夹查看;
还有就是更新了路由,其实就是注册了路由 app/Http/routes.php,打开文件你会看到增加了两行代码:

Route::auth(); 这一句是注册相关的路由,具体的源码可以看 vendor/laravel/framework/srcIlluminate/Routing/Router.php 中的 auth方法

Route::get('/home', 'HomeController@index');这句注册个home路由,指向Home控制器index方法,这是需要登陆的用户才能访问的路由,是因为Home控制器加了个中间件 auth

以上是 php artisan make:auth命令的详细说明,接下来是数据库创建。

创建数据库

如果你是通过composer安装工具安装的laravel框架,默认会在 database/migrations目录中存在两个文件

保持默认就好,不用修改。

如果不存在这样的文件,可以通过
php artisan make:migration create_users_table
php artisan make:migration create_password_table生成,

然后编辑文件

//create_users_table.php
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{public function up(){Schema::create('users', function (Blueprint $table) {$table->increments('id');$table->string('name');$table->string('email')->unique();$table->string('password');$table->rememberToken();$table->timestamps();});}public function down(){Schema::drop('users');}
}
//create_password_table.php
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;class CreatePasswordResetsTable extends Migration
{public function up(){Schema::create('password_resets', function (Blueprint $table) {$table->string('email')->index();$table->string('token')->index();$table->timestamp('created_at');});}public function down(){Schema::drop('password_resets');}
}

到这里请开启数据库,并在.env文件配置好数据库连接,创建相关数据;;然后执行命令创建表

php artisan migrate

命令会创建三个表

到这里工作基本完毕,接下来看看登录注册效果。

测试

cd到项目目录,执行 php -S localhost:3000 -t public ,如果没有错误,就可以在浏览器输入:localhost:3000看效果了。


如果你发现开启一致在转圈圈,那是因为模板里引用了cdn的boostrap文件,把它改成为本地的就快了。

点击注册

登录

重置密码,如果需要重置密码,可以在浏览器地址栏输入 localhost:3000/password/reset

填写需要重置密码,点击发送重置密码链接到邮箱,这里的邮箱是你注册时的邮箱,点击后会在邮箱里收到信息

打开链接就可以重置密码了。

注:这里发送邮件需要在config/email.php中或者.env文件配置邮箱服务,具体的可以看官方文档Laravel 5.2 服务——邮件

认证相关方法

可能在流程中会用到一些查看验证信息,所以一些必备的方法获取认证信息是必要的。

一些与认证有关的方法

    Auth::guard('admin')    //指定看守 返回Auth对象Auth::user();            //获取通过验证的用户 Auth::user()->nameAuth::check();            //检查是否验证Auth::viaRemember();    //判断用户是否使用“记住我”cookie进行认证Auth::login($user);        //将一个已存在的用户实例登录到应用中,传入实例必须是Illuminate\Contracts\Auth\Authenticatable 契约的实现Auth::loginUsingId($userid);//通过用户ID登录到应用Auth::once($credentials);//只在单个请求中将用户登录到应用,而不存储任何 Session 和 CookieAuth::attempt($credentials);//登录用户 ,$credentials是['email' => $email, 'password' => $password],这个方法会和数据库对比Auth::onceBasic();Auth::provider();Auth::logout();            //注销验证用户Auth::extend();            //自定义看守Auth::provider();        //自定义用户提供者

提出问题

  • 如果实现前后台用户验证?
  • 如果laravel自带的用户表结构不符合我的项目需求怎么办?

对于以上似乎网上已经有答案,但我还是发现了些问题,比如 laravel auth的源码大部分已经写死是通过 email,password字段来验证的了;如何得到解答我还在测试中,如果测试完成我会另开文档编写auth源码解读相关教程。如果你已经有了解决办法,希望在评论告知下,谢谢。

laravel 5.2 Auth用户认证教程相关推荐

  1. Laravel核心代码学习--用户认证系统(基础介绍)

    用户认证系统(基础介绍) 使用过Laravel的开发者都知道,Laravel自带了一个认证系统来提供基本的用户注册.登录.认证.找回密码,如果Auth系统里提供的基础功能不满足需求还可以很方便的在这些 ...

  2. Django auth用户认证模块

    Django auth用户认证模块 1.Django auth用户认证 2.Django auth用户模型 3.自定义auth用户模型 4.数据迁移 5.web开发一个应用 5.1 定义路由 1.一级 ...

  3. laravel的auth用户认证的例子

    参考http://www.cnblogs.com/yjf512/p/4042356.html 需要注意的是,生成的测试数据,password部分必须用laravel自带的hash一下 Hash::ma ...

  4. Laravel核心代码学习--用户认证系统的实现细节

    用户认证系统的实现细节 上一节我们介绍了Laravel Auth系统的基础知识,说了他的核心组件都有哪些构成,这一节我们会专注Laravel Auth系统的实现细节,主要关注Auth也就是AuthMa ...

  5. Laravel核心解读 -- 扩展用户认证系统

    扩展用户认证系统 上一节我们介绍了Laravel Auth系统实现的一些细节知道了Laravel是如何应用看守器和用户提供器来进行用户认证的,但是针对我们自己开发的项目或多或少地我们都会需要在自带的看 ...

  6. Laravel 用户认证与登陆

    先看看laravel 自带的用户认证 1.laravel 有内置了用户认证的控制器,它们被放置在 App\Http\Controllers\Auth RegisterController 处理用户注册 ...

  7. Laravel核心解读 -- 用户认证系统(基础介绍)

    用户认证系统(基础介绍) 使用过Laravel的开发者都知道,Laravel自带了一个认证系统来提供基本的用户注册.登录.认证.找回密码,如果Auth系统里提供的基础功能不满足需求还可以很方便的在这些 ...

  8. Laravel7使用Auth进行用户认证

    laravel7 版本移除了 auth,大家都知道以前版本是直接使用 php artisan make:auth就可以使用,但是这版本不行了,那么要怎么弄呢?今天和大家说一下具体步骤. Laravel ...

  9. php lumen auth,学习 Lumen 用户认证 (一)

    好久没写 PHP 代码了,尤其是 Lumen,我是 Lumen 的忠实用户,自从面世开始,我就将 Lumen 作为我 API 的主要框架使用. 但说到 API,不得不说的一个概念:「前后端分离」,现在 ...

最新文章

  1. Linux(CentOS 7_x64位)系统下安装RDkit(修正)
  2. 谷歌新App观妙中国发布:AR传承文化艺术,小米vivo应用宝可体验
  3. 10月份个人技术指标
  4. 小红帽linux操作教程_【免费】Linux从入门到精通教程!
  5. 神经网络那些事儿(二)
  6. c字符串中包含双引号_码哥学Python,一起解密神秘的字符串密码
  7. ELDataQuery 基于.NET 2.0的数据查询框架 雏型
  8. 给大家推荐一款高逼格的Linux磁盘信息查看工具
  9. CATIA连接盘实体设计
  10. SpringBoot—@ComponentScan注解过滤排除某个类
  11. 客户端能不等四次挥手就强制关闭 TCP 连接吗?
  12. Oracle数据库异常---OracleDBConsoleorcl无法启动
  13. 刷机工具-fastboot
  14. PAT甲级 1125
  15. Spring框架基础(上)
  16. HTML经典绝对定位图片
  17. Pytho中list去除重复项
  18. 吴冠中的一类国画:盛世的迷思
  19. ubuntu创建快捷方式和添加到收藏夹
  20. 氨氮废水吸附处理工艺——树脂吸附

热门文章

  1. java大文件读,java 读大文件报错
  2. 数据结构专题(一):1.2.求元素个数,取元素与定位
  3. pca各个向量之间的相关度_PCA算法原理及实现
  4. 剑三游戏总是显示服务器繁忙,剑网3怀旧服:服务器终究低估了老玩家的热情...
  5. html背景图片垂直居中,css — 定位、背景图、水平垂直居中
  6. linux中脚本引入计算bc,linux BC命令行计算器
  7. arduino和单片机c语言,Arduino和单片机的区别-与非网
  8. 1.4 Padding
  9. python 特殊方法(dunder-getitem)
  10. 计算机组成原理页表长度,计算机组成原理(2)-虚拟存储器