前前后后花了很长时间终于彻底明白了laravel5.0是如何实现登录的,感觉非常复杂。
比如说现在数据库中密码字段为pwd,而不是系统默认的password时,修改的文件有:
<code>// \vendor\laravel\framework\src\Illuminate\Auth\Authenticatable.php public function getAuthPassword() { // return $this->password; 修改为 return $this->pwd; } </code>
如果加签方式不一样,修改的文件有:
<code>// \vendor\laravel\framework\src\Illuminate\Auth\EloquentUserProvider.php public function validateCredentials(UserContract $user, array $credentials) { $plain = $credentials['password']; // 下面的$this->hasher->check修改为自定义加签后的字符串相等判断 return $this->hasher->check($plain, $user->getAuthPassword()); } </code>
这样修改的话相当于修改了laravel的源码,一点也不优雅,不知有没有什么更好的办法?
前前后后花了很长时间终于彻底明白了laravel5.0是如何实现登录的,感觉非常复杂。
比如说现在数据库中密码字段为pwd,而不是系统默认的password时,修改的文件有:
<code>// \vendor\laravel\framework\src\Illuminate\Auth\Authenticatable.php public function getAuthPassword() { // return $this->password; 修改为 return $this->pwd; } </code>
如果加签方式不一样,修改的文件有:
<code>// \vendor\laravel\framework\src\Illuminate\Auth\EloquentUserProvider.php public function validateCredentials(UserContract $user, array $credentials) { $plain = $credentials['password']; // 下面的$this->hasher->check修改为自定义加签后的字符串相等判断 return $this->hasher->check($plain, $user->getAuthPassword()); } </code>
这样修改的话相当于修改了laravel的源码,一点也不优雅,不知有没有什么更好的办法?
你也可以自己实现登陆注册啊。不过我觉得自带的已经很好用了。
如果你往user表加字段了获取字段值的话,可以 auth()->user()->你的字段名