Ich verwende Schebs two factor bundle in einem Symfony3-Projekt und ich würde gerne den exclude_pattern
Parameter anders behandeln als es tut, aber ich weiß nicht wie.scheb/two_factor_bundle: wie exclude_pattern für authentifizierte Route zu verwenden?
Normalerweise wird exclude_pattern
verwendet, um eine unauthenticated Route von der Zwei-Faktor-Authentisierung, wie Debug-Seiten oder statischen Inhalt auszuschließen:
# config/config.yml
scheb_two_factor:
...
exclude_pattern: ^/(_(profiler|wdt)|css|images|js)/
sein Verhalten wie folgt umgesetzt:
/* vendor/scheb/two-factor-bundle/Security/TwoFactor/EventListener/RequestListener.php */
public function onCoreRequest(GetResponseEvent $event)
{
$request = $event->getRequest();
// Exclude path
if ($this->excludePattern !== null && preg_match('#'.$this->excludePattern.'#', $request->getPathInfo())) {
return;
}
...
}
Ich würde gerne exclude_pattern
auch für authentifizierte Routen behandeln, so dass ich Zwei-Faktor-Authentifizierung überspringen kann, wenn ich t anrufe Saum. Für authentifiziert ich meine innerhalb access_control
Abschnitt unter security.yml
, wie folgt aus:
# app/config/security.yml
security:
...
access_control:
- { path: ^/test, role: ROLE_USER }
Gerade jetzt, wenn ich eine authentifizierte Route unter exclude_pattern hinzufügen, alles, was ich bekommen, ist eine AccessDeniedException, wahrscheinlich, weil das Bündel erfordert, dass die access_decision_manager
Parameter als strategy: unanimous
eingestellt werden.
Der Zweck ist lang zu erzählen und Englisch ist nicht meine Muttersprache, aber wenn Sie es wirklich wissen müssen, kann ich versuchen, es zu erklären.
Ich habe die Frage mit symfony3 und symfony2 markiert, weil ich Symfony 3.0 benutze, aber ich bin mir ziemlich sicher, dass es in Symfony 2.8 identisch ist.