Session 会话过期后重定向到yii中的登录页面

Session 会话过期后重定向到yii中的登录页面,session,redirect,login,Session,Redirect,Login,我正在开发一个具有多个级别和模块的web应用程序。在应用中,一切正常 如果用户在登录后不工作,他们会让应用程序处于登录状态,并在1小时后尝试使用它,则会话将过期,系统状态变量将丢失。所以在这种情况下,应用程序不重定向到登录页面站点/登录,这是糟糕的用户体验 我无法确定问题是什么。如何修复此问题?解决此问题的一种方法是不要直接从CController扩展控制器 您可以有一个中间控制器,比如扩展CController的ModuleController。 然后,所有控制器都扩展该控制器 重写Modul

我正在开发一个具有多个级别和模块的web应用程序。在应用中,一切正常

如果用户在登录后不工作,他们会让应用程序处于登录状态,并在1小时后尝试使用它,则会话将过期,系统状态变量将丢失。所以在这种情况下,应用程序不重定向到登录页面站点/登录,这是糟糕的用户体验


我无法确定问题是什么。如何修复此问题?

解决此问题的一种方法是不要直接从CController扩展控制器

您可以有一个中间控制器,比如扩展CController的ModuleController。 然后,所有控制器都扩展该控制器

重写ModuleControl中的beforeAction,并检查会话是否已设置,如果未设置,则重定向到登录。 因此,每次用户尝试访问页面时,它都会首先检查会话是否已设置。您可以使用ACL对此进行更好的微调

这种方法可以应用于Yii开发中的各种问题

希望这有帮助