我正在使用 codeigniter 框架,并且正在尝试实现 tankauth 身份验证。它适用于常规页面。在控制器的 __construct 中,我把
if (!authenticated) { redirect('auth'); }
在那里,它可以保护控制器中的所有功能。如果用户的凭据超时并且他们尝试加载新页面,这将正常工作,它只是将他们重定向到身份验证页面,以便他们可以再次登录。但是,如果通过 ajax 调用控制器中的函数,我会得到一个无限循环。我假设是因为它正在尝试在页面已加载时发送重定向标头。
当没有登录的人尝试调用该函数时,保护 ajax 调用并将用户重定向到身份验证页面的正确方法是什么?
谢谢!