...
Die Tokens eines Anwenders werden immer und automatisch allen Datensätzen zugewiesen, die der Anwender anlegt (anonym oder authentifiziert). Es muss mindestens ein aktives Token-Schema existieren. Um zu verhindern dass die Tokens automatisch zu einem bestimmten Entity zugewiesen werden, existiert das Event OnAddDatasetTokenEvent
.
Beispiel
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?php namespace Brandbox\App\PackageNamespace\PackageName\Lib\Subscriber { use Brandbox\Framework\Brandbox\Role; use Brandbox\Framework\Brandbox\Event; class BrandboxRoleSubscriber extends Event\EventSubscriberAbstract { public const PRIORITY = 300; private const NON_TOKEN_IDENTIFIER = [ 'YourEntityIdentifier' ]; public static function getSubscribedEvents(): array { return [ Role\Lib\Event\OnAddDatasetTokenEvent::NAME => [ ['onAddDatasetToken', self::PRIORITY] ], Role\Lib\Event\OnAddUserTokenEvent::NAME => [ ['onAddUserTokenEvent', self::PRIORITY] ] ]; } public function onAddDatasetToken(Role\Lib\Event\OnAddDatasetTokenEvent $event): void { $isSuperAuthorized = $this ->getApplicationConfig() ->isSuperAuthorized() ; if ($isSuperAuthorized || in_array($event->getIdentifier(), self::NON_TOKEN_IDENTIFIER) ) { $event->setTokenIDs([]); $event->stopPropagation(); } } public function onAddUserTokenEvent(Role\Lib\Event\OnAddUserTokenEvent $event): void { $isSuperAuthorized = $this ->getApplicationConfig() ->isSuperAuthorized() ; if ($isSuperAuthorized) { $event->setTokenIDs([]); $event->stopPropagation(); } } } } |
...