Php Laravel 5 Auth::trunt()始终返回false
我最近在Laravel5上启动了一个新项目,我正在尝试实现一个登录功能 对于用户名,我使用的代码可以是CPF或CNPJ(巴西个人税务登记号码(CPF)和公司税务登记号码(CNPJ)格式分别为999.999.999-99和99.999.999/9999-99),它保存在数据库中,包含所有点、破折号和斜线,并且输入被屏蔽,因此它们也可以从输入中格式化(我仔细检查了传递给$username变量的字符串输入,它是正确的) 问题是Auth::trust()方法总是返回false。我尝试了在stackoverflow上找到的关于该问题的所有答案,但没有一个解决了,所以我打开了另一个问题 我正在Homestead环境上使用Laravel5.0.16和Homestead提供的MySQL本地数据库 这是我的表格:Php Laravel 5 Auth::trunt()始终返回false,php,mysql,laravel,laravel-5,homestead,Php,Mysql,Laravel,Laravel 5,Homestead,我最近在Laravel5上启动了一个新项目,我正在尝试实现一个登录功能 对于用户名,我使用的代码可以是CPF或CNPJ(巴西个人税务登记号码(CPF)和公司税务登记号码(CNPJ)格式分别为999.999.999-99和99.999.999/9999-99),它保存在数据库中,包含所有点、破折号和斜线,并且输入被屏蔽,因此它们也可以从输入中格式化(我仔细检查了传递给$username变量的字符串输入,它是正确的) 问题是Auth::trust()方法总是返回false。我尝试了在stackove
CPF/CNPJ
森哈
诱捕者
您的Auth::trunt
正在寻找cpfcnpj
作为用户名,但是您已经在getAuthIdentifier()
方法中指定了sqpessoa
作为用户名字段
此外,您还将
cpfcnpj
指定为getAuthPassword()处的密码字段
方法而Auth::trunt
将cpfcnpj
作为用户名而不是密码。重命名数据库中的cpfcnpj列和密码为小写,并声明数组
R2:
在尝试方法之后,您可以看到,在许多地方,它正在等待小写的“password”字段,问题只在于此字段。CPFCNPJ可能是大写的
感谢您的快速回答,它部分解决了我的问题,但我必须更改数据库中的属性,也要使用小写,就像Alfredo在另一个答案中所说的,只有在我使用了两种解决方案之后,它才起作用。由于某些原因,它不适用于大写,我尝试将代码和数据库中的每个属性都更改为大写,然后不起作用,我找不到原因。很可能
属性
在供应商
中被硬编码或转换为小写,我们都知道供应商
目录是完美的,没有人可以触摸它。它起作用了,但是你能解释为什么它不能用小写吗?另外,很抱歉没有检查你的答案a这也是正确的,因为即使两个答案都对我有帮助,我也无法检查两个答案是否正确。