Central Security Centre
* Security policy management * Minimum password-length policy * Mixed-case, number, and symbol requirements * Password expiry and history settings * MFA requirement policy * Failed-login and lockout settings * Session idle-time policy * Single-session policy * Automatic successful-login recording * Automatic failed-login recording * Automatic logout recording * Authentication history * IP allow and deny rules * IPv4 CIDR support * Administration and login rule scopes * Trusted-device storage and revocation * Security middleware registration * Administration navigation * Security permissions * Module registration and tests
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Modules\Security\Models;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
final class IpRule extends Model
|
||||
{
|
||||
protected $table='security_ip_rules';
|
||||
protected $fillable=['name','type','address','description','applies_to_admin','applies_to_login','is_active','created_by'];
|
||||
protected $casts=['applies_to_admin'=>'boolean','applies_to_login'=>'boolean','is_active'=>'boolean'];
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Modules\Security\Models;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
final class LoginEvent extends Model
|
||||
{
|
||||
protected $table='security_login_events';
|
||||
protected $fillable=['user_id','email','event','ip_address','user_agent','session_id','reason','metadata','occurred_at'];
|
||||
protected $casts=['metadata'=>'array','occurred_at'=>'datetime'];
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
namespace Modules\Security\Models;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
final class SecurityPolicy extends Model
|
||||
{
|
||||
protected $fillable=['name','minimum_password_length','require_mixed_case','require_numbers','require_symbols','require_mfa','password_expiry_days','password_history','max_failed_logins','lockout_minutes','session_idle_minutes','single_session','is_active'];
|
||||
protected $casts=['require_mixed_case'=>'boolean','require_numbers'=>'boolean','require_symbols'=>'boolean','require_mfa'=>'boolean','single_session'=>'boolean','is_active'=>'boolean'];
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Modules\Security\Models;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
final class TrustedDevice extends Model
|
||||
{
|
||||
protected $table='security_devices';
|
||||
protected $fillable=['user_id','name','fingerprint','ip_address','user_agent','trusted_until','last_seen_at','revoked_at'];
|
||||
protected $casts=['trusted_until'=>'datetime','last_seen_at'=>'datetime','revoked_at'=>'datetime'];
|
||||
}
|
||||
Reference in New Issue
Block a user