我使用 Backbone 设置了一个简单的 OAuth 验证,并且运行良好。我的问题有点挑剔(虽然......我也是Backbone的新手),但我希望找到可能知道如何解决这个问题的人。
我有一个 Session 模型,它在初始化时根据 localStorage 中值的存在设置一个 @authenticated 值。这里还有一个方法,authenticate(),它检查@authenticated 值是否通过/失败。如果值检查失败,它会使用我的路由器导航到登录路由。如果值检查通过,则运行用户传入的可选回调。
在我的主 AppView(应用程序启动时运行的第一个视图)中,我运行 Session.authenticate(),如果它通过,则路由到“#home”(我的路由器处理加载其他视图)。
我的问题是:作为未经身份验证的用户,如果我在浏览器中输入http://url.com/#home,我会成功路由到“#login”,但是如果我打开我的 DevTools,我可以看到在我的“HomeView”视图中请求图像。我对 Backbone 如何通过这个过程有什么不明白的地方?“#home”的路由不应该在应用程序初始化之后才运行,因此甚至不应该尝试加载“HomeView”吗?