TP5.1多种登录方式

简介: TP5.1多种登录方式

继这篇源码的基础上做三种登录方式

原理:定义一个属性,将所有的登录方式的字段存起来。在循环查用户名即可

https://blog.csdn.net/fangkang7/article/details/83418641

image.png

源码

<?php
namespace app\service;
use app\model\user\User;
class UserService
{
    // 定义多种登录方式
    private $loginWay = [
        // 用户名
        'user_name',
        // 邮箱
        'user_emal',
        // 电话
        'user_tel'
    ];
    public function login($username,$password)
    {   
        // 使用循环方式判断用户名是否存在
        foreach($this->loginWay as $k=>$v){
            $user = User::where([$v=>$username])->find();
            // 如果存在就有这个用户,跳出
            if($user){
                break;
            }
        }
        if(!$user){
            //用户名不存在
           return ERROR_NO_USER;
        }
        if($user->user_status != 1){
            // 用户是否被封
            return ERROR_USER_START;
        }
        if(!password_verify($password,$user->user_password)){
            // 密码错误,登录失败
            return ERROR_PASSWORD;
        }
        //登录成功
        return SUCCESS;
    }
}
相关文章
|
中间件
【TP5.1】使用路由进行权限验证(跟使用全局中间件验证是一样的)
【TP5.1】使用路由进行权限验证(跟使用全局中间件验证是一样的)
225 5
【TP5.1】使用路由进行权限验证(跟使用全局中间件验证是一样的)
|
PHP 计算机视觉 开发者
tp5(thinkphp5)验证码不显示问题解决
tp5(thinkphp5)验证码不显示问题解决
748 0
tp5(thinkphp5)验证码不显示问题解决
|
PHP
TP5验证规则自定义
TP5验证规则自定义
193 0
|
安全 应用服务中间件 PHP
TP5.0.20 - TP5更改网站目录为/public 后运行出错解决
当程序要使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录树之外,程序将拒绝打开。 本指令不受安全模式打开或关闭的影响。
324 0
|
PHP
tp自动验证流程和返回空数组的问题
tp自动验证流程和返回空数组的问题
118 0
|
缓存 中间件
【TP5.1】唯一登录
【TP5.1】唯一登录
196 0
【TP5.1】唯一登录
|
程序员 数据库
TP5.1对登录进行优化
TP5.1对登录进行优化
180 0
TP5.1对登录进行优化
TP5.1对登录的返回码优化
TP5.1对登录的返回码优化
147 0
TP5.1对登录的返回码优化
|
PHP
【TP5】自定义命令行
【TP5】自定义命令行
153 0
【TP5】自定义命令行