我有一个现有的数据库。
users :
username => varchar
password => md5 hashing
我是laravel的新手,我尝试创建简单的登录并从laravel docs注册,这样可以正常工作, 但在文档中为laravel创建, 现在我想创建相同的登录/注册但使用现有数据。
我从How to use SHA1 encryption instead of BCrypt in Laravel 4?读了一些问题 但我不明白如何使用它。
任何adv?
我的坏语法的sory。
答案 0 :(得分:3)
我会尝试回答我的问题。 我是从Facebook Group Laravel Indonesia
取的创建目录app/libraries
将app/libraries
添加到composer.json
"classmap": ["database","app/libraries"],
在MD5Hasher.php
app/libraries
<?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;
}
}
在MD5HashServiceProvider.php
app/libraries
<?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
我不知道我在做什么是对的。
方面