[英]custom auth and hashing laravel 5.1
我有一个现有的数据库。
users :
username => varchar
password => md5 hashing
我是laravel的新手,我试图从laravel docs创建简单的登录和注册,这很好,但是在docs中为laravel创建,现在我想创建相同的登录/注册但具有现有数据。
我在Laravel 4中从如何使用SHA1加密而不是BCrypt中读到一些问题? 但我不知道如何使用它。
任何副词?
为我的坏语法感到抱歉。
我会尽力回答我的问题。 我是从Facebook Laravel Indonesia组摘来的
创建目录app/libraries
将app/libraries
添加到composer.json
"classmap": ["database","app/libraries"],
在app/libraries
创建MD5Hasher.php
<?php namespace App\\Libraries; use Illuminate\\Contracts\\Hashing\\Hasher as HasherContract; class MD5Hasher implements HasherContract { public function make($value, array $options = array()) { $value = env('SALT', '').$value; return md5($value); } public function check($value, $hashedValue, array $options = array()) { return $this->make($value) === $hashedValue; } public function needsRehash($hashedValue, array $options = array()) { return false; } }
在app/libraries
创建MD5HashServiceProvider.php
<?php namespace App\\Libraries; use Illuminate\\Support\\ServiceProvider; class MD5HashServiceProvider extends ServiceProvider { /** * Register the service provider. * * @return void */ public function register() { $this->app['hash'] = $this->app->share(function () { return new MD5Hasher(); }); } /** * Get the services provided by the provider. * * @return array */ public function provides() { return array('hash'); } }
在config/app.php
找到Illuminate\\Hashing\\HashServiceProvider::class,
更改为App\\Libraries\\MD5HashServiceProvider::class,
在AuthController.php
添加protected $username = 'username';
return Validator::make($data, [ //'name' => 'required|max:255', 'username' => 'required', 'password' => 'required|confirmed|min:5', ]);
return User::create([ //'name' => $data['name'], 'username' => $data['username'], 'password' => md5($data['password']), ]);
在App\\Users.php
更改protected $fillable = ['name', 'email', 'password'];
要protected $fillable = ['username', 'password'];
不要忘记运行composer dumpautoload
我不知道我在做什么对与错。
看待
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.