app->singleton(PdnCipher::class, function ($app): PdnCipher { $driver = (string) config('security.encryption.driver', 'laravel'); return match ($driver) { 'gost' => new GostCipher([ 'binary' => config('security.encryption.gost.binary'), 'container' => config('security.encryption.gost.container'), ]), default => new LaravelAesCipher($app->make(Encrypter::class)), }; }); $this->app->singleton(AuditService::class); $this->app->singleton(Google2FA::class); } public function boot(): void { // Разграничение доступа к объектам ПДн (УПД.2). Gate::policy(PersonalData::class, PersonalDataPolicy::class); // Регистрация событий аутентификации в журнале (РСБ.2). Event::subscribe(AuthEventSubscriber::class); } }