Bir kernel.response
olayı ayarlıyorum ve kullanıcının oturum açıp açmadığını test etmek istiyorum. Kullanıcı IS_AUTHENTICATED_REMEMBER
Ben css ve js sunum dosyaları halinde hata 500 alırsanızYetkilendirme denetleyicisi olan Symfony kernel.response dinleyicisi
services.yml
app.kernel.modal_injection:
class: App\UserBundle\EventListener\ModalListener
tags:
- { name: kernel.event_listener, event: kernel.response }
arguments:
- @security.authorization_checker
ModalListener.php
<?php
namespace App\UserBundle\EventListener;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Security\Core\Security;
use Symfony\Component\Security\Core\Authorization\AuthorizationChecker;
class ConnectModalListener implements EventSubscriberInterface
{
protected $securityChecker;
public function __construct(AuthorizationChecker $securityChecker)
{
$this->securityChecker = $securityChecker;
}
public function onKernelResponse(FilterResponseEvent $event)
{
$response = $event->getResponse();
$request = $event->getRequest();
if (!$event->isMasterRequest()) {
return;
}
if ($request->isXmlHttpRequest()) {
return;
}
if ($this->securityChecker->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
return;
}
// CODE HERE
}
public static function getSubscribedEvents()
{
return array(
KernelEvents::RESPONSE => array('onKernelResponse', 0),
);
}
}
Benim sorunum olmadığını kontrol çattı: Burada
benim kodudur Sayfam (bunun üzerinde js veya css yok demektir). Bunları şarj etmenin bir yolu var mı? Sonunda kernel.response etkinliğini filtreleyin mi?
Symfony'nin Debugger gelen tam hata mesajı paylaşabilir misiniz? CSS/JS'niz her zaman çalışmalıdır. Onlar statik dosyalar. – mblaettermann
Ellerimi hataya almayı başardım: 'Dahili Sunucu Hatası | Symfony \ Component \ Security \ Core \ Exception \ AuthenticationCredentialsNotFoundException [message] Jeton depolama alanı kimlik doğrulama belirteci içermez. Bunun olası bir nedeni, bu URL için yapılandırılmış bir güvenlik duvarı olmaması olabilir ' –