自定义的身份验证和哈希laravel 5.1 [英] custom auth and hashing laravel 5.1

查看:324
本文介绍了自定义的身份验证和哈希laravel 5.1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个现有的数据库。

I have an existing database.

users :
username => varchar
password => md5 hashing

我是新来laravel,我尝试创建简单的登录和laravel 文档注册,这就是做工精细,
但在文档是创建laravel,
现在我想创建相同的登录/注册,但与现有的DATAS。

I am new to laravel, I was try to create simple login and register from laravel docs, thats work fine, but in docs are create for laravel, now I want to create same login/register but with existing datas.

我读了一些问题<一href=\"http://stackoverflow.com/questions/17710897/how-to-use-sha1-encryption-instead-of-bcrypt-in-laravel-4/17719586#17719586\">How使用SHA1加密,而不是在BCrypt 4 Laravel?
但我不知道如何使用它。

I was read some Question from How to use SHA1 encryption instead of BCrypt in Laravel 4? but I dont understand how to use it.

任何进阶?

索里对我不好的语法。

推荐答案

我会尽力回答我的问题。
我把它从 Facebook群组Laravel印尼

I'll Try to answer my question. I take it from Facebook Group Laravel Indonesia


  • 创建目录应用程序/库

添加应用程序/库 composer.json

classmap:数据库,应用程序/库]

创建 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;
}

}


  • 创建 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');
    }
    
    }
    


  • 配置/ app.php

    查找照亮\\散列\\ HashServiceProvider ::类,

    更改为程序\\库\\ MD5HashServiceProvider ::类,

    AuthController.php

    添加保护$用户名='用户名';

    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']),
            ]);
    


  • 程序\\ Users.php

    修改保护$可填写= ['名','邮件','密码'];

    保护$可填写= [用户名,密码];

    不要忘了执行作曲dumpautoload

    我不知道我在做什么正确与否。

    I don't know what I am doing is right or not.

    关于

    这篇关于自定义的身份验证和哈希laravel 5.1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆