gpt4 book ai didi

redirect - 交响乐 2 : Redirect a user to a page if he has a specific role

转载 作者:行者123 更新时间:2023-12-01 11:44:10 25 4
gpt4 key购买 nike

我有一个小问题。我希望用户在我的网站上的任何位置,如果他具有角色“ROLE_DEGRADE”,他将被重定向到特定页面。

我该怎么做,我必须使用防火墙吗?我不想将用户重定向到表单登录,只是重定向到一个简单的页面。我希望在我的网站上无处不在,而不是在我所有的 Controller 中无处不在地放置“如果角色降级......”......

感谢您的帮助;)

最佳答案

像这样的事情应该做到......

创建一个新的监听器:

class AccessListener
{
private$security;
private $router;

public function __construct($security, $router)
{
$this->security = $security;
$this->router = $router;
}

public function onKernelRequest(GetResponseEvent $event)
{
if ($this->security->isGranted('ROLE_DEGRADE')) {
$url = $this->router->generate('<route name>');
$event->setResponse(new RedirectResponse($url));
}
}
}

将其添加到您的 services.yml 中:

services:
access_listener:
class: Acme\DemoBundle\Listener\AccessListener
arguments: [ @security.context, @router ]
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }

文档:

关于redirect - 交响乐 2 : Redirect a user to a page if he has a specific role,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com