PHP code example of onramplab / laravel-security-model
1. Go to this page and download the library: Download onramplab/laravel-security-model library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
onramplab / laravel-security-model example snippets
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use OnrampLab\SecurityModel\Concerns\Securable;
use OnrampLab\SecurityModel\Contracts\Securable as SecurableContract;
class User extends Model implements SecurableContract
{
use Securable;
/**
* The attributes that are mass assignable.
*/
protected array $fillable = [
'phone',
'email',
];
/**
* The attributes that are needed to be encrypted.
*/
protected array $encryptable = [
'phone' => ['type' => 'string'],
'email' => ['type' => 'string', 'searchable' => true],
];
}
/**
* Determine if the model should be encrytable.
*/
public function shouldBeEncryptable(): bool
{
return $this->isClassified();
}
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use OnrampLab\SecurityModel\Concerns\Securable;
use OnrampLab\SecurityModel\Contracts\Securable as SecurableContract;
use OnrampLab\SecurityModel\Redactors\E164PhoneNumberRedactor;
use OnrampLab\SecurityModel\Redactors\EmailRedactor;
class User extends Model implements SecurableContract
{
use Securable;
/**
* The attributes that are mass assignable.
*/
protected array $fillable = [
'phone',
'email',
];
/**
* The attributes that are needed to be redacted.
*/
protected array $redactable = [
'phone' => E164PhoneNumberRedactor::class,
'email' => EmailRedactor::class,
];
}
namespace App\Redactors;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
use OnrampLab\SecurityModel\Contracts\Redactor;
class FirstCharacterRedactor implements Redactor
{
/**
* @param mixed $value
* @param Model $model
* @return mixed
*/
public function redact($value, $model)
{
return Str::mask((string) $value, '*', 0, 1);
}
}