避免从浏览器导航url

避免从浏览器导航url

问题描述:

我有一个项目,其中有几个部分。用户只能通过内部导航与我的应用程序进行交互。但如果用户在URL中写入内容并重新加载页面,我希望被重定向到某个状态或未能允许该状态。我怎样才能做到这一点?避免从浏览器导航url

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

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

}) 
+1

您可以将所有状态定义为不具有URL。 –

+0

我需要显示的网址 – yavg

有一个每个浏览器发送的http头。这是Referrer Header,但它是服务器检查它。

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

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

这可能会实现。在plunkr上测试URL路由是相当困难的。

注入$urlService某处(例如.run()块)并禁用URL导航。

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

它不适合我。 angularRoutingApp.run(函数($ rootScope,$ state,$ location,$ transitions,$ urlService) { $ urlService.deferIntercept(); ... – yavg