Wenn sich Ihre eigene Benutzertabellenstruktur von der Benutzertabellenstruktur von Auth unterscheidet, die mit Laravel geliefert wird, wie können Sie dann eine Benutzerauthentifizierung durchführen?
PHP中文网
PHP中文网 2017-05-16 16:50:30
0
1
726

Meine Benutzertabellenstruktur unterscheidet sich von der Tabellenstruktur, die durch die Benutzerüberprüfung im Laravel-Framework erstellt wurde. Die Standardeinstellung in Laravel ist beispielsweise die Anmeldung per E-Mail, aber meine Benutzertabelle verfügt überhaupt nicht über ein E-Mail-Feld Kann dies über die Authentifizierung von Laravel geschehen? Etwas, um den Benutzerbestätigungscode zu implementieren?

Stimmt es, dass die Tabellenstruktur nicht mit der eigenen Authentifizierung überprüft werden kann, wenn sie sich von der in Laravel unterscheidet?

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(1)
淡淡烟草味

包括验证所使用的user表(Models/User.php)的table,

验证所读取的用户id字段(username/email)

读取的密码字段(password)

乃至于验证方法(bcrypt)都是可以自己定制的。

如果你是用5.1LTS的版本,可以先去看一下认证这一章节的文档

另外看一下你AuthController和UserModel里所默认使用的Trait

User(Model)里的Trait:Authenticatable

AuthController(Controller)里的Trait:AuthenticatesAndRegistersUsers(下的AuthenticatesUsers)

中间的实现的方法都是你可以在对应的Model和Controller里自己定制覆盖的
比如你所要求的用户名不一样,就可以通过覆盖loginUsername方法搞定:

/**
 * Get the login username to be used by the controller.
 *
 * @return string
 */
public function loginUsername()
{
    return property_exists($this, 'username') ? $this->username : 'email';
}

多看文档,多读源码。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage