注销后如何重定向到主页?

Posted

技术标签:

【中文标题】注销后如何重定向到主页?【英文标题】:How to redirect to home page after logout? 【发布时间】:2015-08-09 04:19:26 【问题描述】:

我在 symfony 上提供了一个预构建项目,其中注销会话重定向到登录屏幕,但现在我希望该页面重定向到主页上。我在编码文件中发现的是这样的:

在基础树枝文件中:

<a href="path('log_out')"><i class="icon-key"></i> Log Out</a>

在routing.yml中

#Route for logout page.
log_out:
    pattern: /bid/logout

【问题讨论】:

【参考方案1】:

通常它会重定向到主页。检查你的 security.yml 配置文件。

firewalls:        
    default:            
        logout:
            path:   /logout
            target: / #This is home url

【讨论】:

我的目标 id 空白...即/【参考方案2】:

在 Symfony 4 上,默认情况下,注销操作重定向到 / 路径。您可以通过在 security.yml 配置文件中设置适当的配置参数来更改默认行为。

security:
    ...
    firewalls:
        ...
        main:
            ...
            logout:
                ...
                target: app_login # you can specify a hard coded URL path or a route name

【讨论】:

【参考方案3】:

以我的拙见,最简单的方法是简单地在您的 logoutAction 中进行重定向(因此在您的控制器中),如下所示:

public function myLogoutAction()

    // Your logout logic
    return $this->redirect($this->generateUrl('my_route'));

【讨论】:

我通过将模式更改为 /home 使其工作。但我想知道这样做是否正确? 如果你把pattern改成/home,你会到首页,但是你不会调用你的logoutAction,这也是我相信想要的。所以不,这不是做到这一点的好方法。如果您想在不注销的情况下进行重定向,请不要更改模式,但要更改链接中的 href。 我在控制器的注销功能中发现了这个:public function logoutAction() throw new \RuntimeException('Please Configure the logout in your security setting.'); 这里如何编辑链接? 不要混淆:要么你改变你的基本树枝文件链接中的href,你放的第一段代码(但你不会有一个真正的注销,只是一个重定向) , 或者你把我的回答放在你行动的最后。但那是在猜测你写了一个 logoutAction。从您发布的异常中看来,根本没有配置注销操作,因此如果您想真正注销,则必须这样做(并且如果您像您所说的那样是新手,那将并不容易)

以上是关于注销后如何重定向到主页?的主要内容,如果未能解决你的问题,请参考以下文章

如何配置在Django中注销后重定向到哪里?

登录和注销后如何重定向 - laravel 5

使用 Spring Security 和 Grails 注销后如何将用户重定向到不同的页面

注销和删除 Cookies [重定向到主页]

如何更改我的注销路线以重定向到我的主页

在 YII2 中使用自动注销,需要在再次登录后将用户重定向到用户在自动注销之前的相同 URL