避免从浏览器网址导航

时间:2017-10-04 17:01:14

标签: javascript angularjs

我有一个项目,其中我有几个部分。用户只能通过内部导航与我的应用程序进行交互。但是如果用户在URL中写入内容并重新加载页面,我希望将其重定向到某个状态或者不允许它。我怎么能这样做?

我的代码中有这个。在我的实际项目中,我根据收到的状态进行验证,但在这种情况下,我不知道在从浏览器导航栏中编写URL时直接导航时如何检测。

$transitions.onSuccess({ }, trans => {

})

2 个答案:

答案 0 :(得分:0)

每个浏览器都会发送一个http标头。这是Referrer Header,但服务器请检查它。

无论如何,你能否解释为什么你不希望用户使用网址在应用程序中移动?

从安全角度来看,这不是一个好的解决方案,你必须使用这样的东西https://www.theodo.fr/blog/2015/08/handling-basic-route-authorization-in-angularjs/

答案 1 :(得分:0)

这可能有用。在plunkr上测试URL路由非常困难。

在某处(例如$urlService阻止)注入.run()并禁用网址导航。

.run(function($urlService) {
    $urlService.deferIntercept();
});