我正在开发一个基于身份验证的应用程序,用户必须登录才能访问网站的某些路由。我还没有找到关于如何实现这一点的文档,所以我想出了一个关于如何解决它的想法。
这是我知道用户是否登录的功能:
App.filterAuth = function(navigateTo) {
navigateTo = typeof navigateTo !== 'undefined' ? navigateTo : '#';
if (App.logged == false) {
App.vent.trigger('navigate', navigateTo);
}
};
我的想法是,当用户登录时设置App.logged = true
. 然后,当我的路由器尝试执行一个具体的路由器时,我可以调用App.filterAuth()
. 这实际上有效并进行了一些调试,我发现一切都被触发了。
问题?例如,我在为用户加载图像提要的受保护路由上执行此操作。执行时App.filterAuth()
,我看到它尝试导航到,#
但此提要视图的执行并未停止,并且与我的#
路线关联的视图也未触发。
关于如何改进此功能以使其正常工作的任何想法?
提前致谢!