Laravel 使用Auth登录验证
关于Auth类的简单介绍和使用参见文档:http://v4.golaravel.com/docs/4.0/security跟着文档走,我们先需要对配置项进行修改:" app/config/auth.php "
这里定义了一个驱动器,一个进行验证的类User,这个类位于应用目录app/models下,同样的定义了一个用户表,这里要改成自己项目中的对应的表。再往下看,Laravel中使用了Hash类来创建密码,具体用法如下:
接下来我们创建一个登录的路由,路由分为GET和POST请求两个。
我们去创建User控制器,并且完善loginGet和loginPost方法。
接下来我这边就是各种错误。根据错误提示一条条修改。发现在User类中,需要实现验证接口。
然后要去重写接口中定义过的方法:
laravel的主框架代码文件在vendor\laravel\framework\src\Illuminate目录下。关于Atuh模块在对应的Auth目录下。我们使用的Auth类其实也就是Guard.php文件中的类。
这是验证用户名和密码并登录的方法,看出来需要array $credentials = array()这个条件参数,$remember是否记住登录。如果$remember=true后,会在cookie中保存用户的一些信息。当用户的session清除之后,程序会继续尝试从cookie中的一些加密信息中把用户“恢复”出来。一般来说,使用默认值false就行了,不然还需要其他地方的一些调整。这里的提供者$this->provider经验证是在Auth目录下的EloquentUserProvider.php文件中。EloquentUserProvider类实现了接口UserProviderInterface,重写了接口中的方法,这个类主要是负责验证用户,定义一些token,和根据条件恢复用户。
只有$this->provider->validateCredentials($user, $credentials) 验证用户名和密码成功之后,才会调用$this->login($user, $remember)进行关于用户的session控制。
如果$remember为true就会执行这个代码块:
看到这里会有关于cookie的相关操作,会将登录用户信息放入cookie中,方便“恢复”。如果在登录后有监听的事件,会在这里执行:
一切就绪,设置user,设置之后便可以在以后的流程中使用Auth类验证是否登录了。
退出登录的方法:
这里是user就是刚刚登录成功后设置的user。通过user()获取user信息的方法:
如果用户登录时$rember为true,退出登录时候出错,SESSION信息清除,COOKIE信息保留了。再进行验证就会出错,原因在与:
这里会尝试根据cookie中的信息进行“恢复”用户。我是执行这样,先清除本机的cookie信息,之后再尝试登录操作。
- Laravel5.3使用auth登录验证
- Laravel 5.1 集成 Auth 验证用户注册登录示例
- laravel身份验证-Auth的使用
- Laravel- Auth登录验证
- laravel身份验证-Auth的使用
- 使用ssh无密码验证登录 公钥无效
- 如何使用laravel搭建后台登录系统
- 使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
- Laravel中使用FormRequest进行表单验证方法及问题汇总
- SpringBoot使用JWT实现登录验证
- thinkphp 5使用行为进行用户登录验证。
- 软件项目或者产品有时候会用到本机网卡的物理MAC地址、IP地址、硬盘序列号加上使用软体名称和地址进行安全加密验证,例如结合MAC地址进行登录验证等等,当然这种项目一般在局域网内运行,能相对提高系统的安全性
- python-使用用户与密码登录验证的检索特定字段ver1(含文件操作知识)
- 使用过滤器做登录验证
- 安卓使用Mob实现短信验证登录代码 很简单
- 使用Zend_Auth和Zend_Acl进行登录认证及根据用户角色进行权限控制
- xshell 使用密钥验证远程登录linux
- 使用SSH框架实现用户登录验证
- 使用uc_authcode 获取论坛当前登录用户信息
- mvc 3 Mvc 4 使用Forms 登录验证随笔一