mysql - Laravel/加密解密用户表

标签 mysql laravel laravel-5 laravel-5.1

我想加密用户表的数据字段,并且不想破坏 laravel 默认的身份验证功能。

我想要这样的东西

DB::table('client')->insertGetId(
        array(
        'name'  =>DB::raw("AES_ENCRYPT('".$data['name']."', '".env('DB_ENCRYP_KEY')."')"), 
        'email' => DB::raw("AES_ENCRYPT('".$data['email']."', '".env('DB_ENCRYP_KEY')."')"), 
        'password' => DB::raw("AES_ENCRYPT('".$data['password']."', '".env('DB_ENCRYP_KEY')."')")

        )

);

想要在查询级别使用 ASE_ENCRYPT。 我只需要知道在哪里可以找到 Laravel 身份验证模块的原始 MySQL 查询。所以我可以像这样更改这些查询。文件名是什么?

最佳答案

不要使用 auth()->attempt(),而是自己查询用户,然后使用 login 方法。

例如,在 Controller 的 login 方法中:

public function login()
{
    $user = User::where(...)->first();

    if ($user) {
        auth()->login($user);

        return redirect()->intended();
    }

    return redirect()->back()->withErrors('Wrong credentials');
}

关于mysql - Laravel/加密解密用户表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32619425/

相关文章:

php - 如何为多个输入字段设置单个自定义验证消息?

mysql - 在 phpmyadmin 中导入数据时出现错误 1064

开放时间

javascript - 在表中选择更改选项时弹出模型

laravel - 如何将此查询从 SQL(mysql) 转换为 Eloquent(Laravel)

mysql - Laravel 搜索查询仅匹配完整单词

mysql - 在采用 where 条件之前应用聚合函数

PHP MySQL 多个表的最新记录

php - 在 laravel 中更改 php.ini 设置

php - Laravel Eloquent 检查先前的急切加载关系