什么设置了Yii中的returnUrl值?X应用程序(或框架内部)


What sets returnUrl value in Yii 1.x application (or framework internals)

在Yii 1中设置 returnUrl属性的原因x(文档没有说明这一点)和这个属性应该有什么值,如果我重定向用户回到登录屏幕(user/login路由)在actionLogout ?

我的Yii申请遇到了一个奇怪的情况。正如我所写的,我的注销操作将用户重定向回登录页面。当标准用户只使用我的应用程序的前端时,一切似乎都很好。它可以登录和注销,并且一直在主页和登录界面之间导航,这很好。

但是,当管理员用户登录时,进入控制面板,单击logout链接,然后再次登录,它被重定向到主页。这是因为returnUrl被设置为输入脚本URL,而不是admin.html(路由到用户刚刚离开的Admin模块)。问得好,为什么?

我已经搜索了我的应用程序的整个代码,我可以清楚地看到,我没有设置returnUrl自己的任何地方。

我想这个答案可以解决我的问题。如果这是真的,那么问题就有点不同了:为什么这不是由Yii内部设置的,只需要由用户完成(在beforeAction中)?

请注意,returnUrl属性使用的是存储在cookie中的状态。注销后将被清除。在某些情况下,您可以自己覆盖CWebUser类,并覆盖returnURL

Yii有很多没有文档的东西。如果您发现类似的东西,请随意浏览源代码。它能提高你的技能。