Javascript 安全url';当使用ui路由器时

Javascript 安全url';当使用ui路由器时,javascript,angularjs,angular-ui-router,state,Javascript,Angularjs,Angular Ui Router,State,我在UI-ROUTER上试验了很长一段时间,发现如果我在地址栏中手动粘贴端点(url),就可以重定向到所需的页面 请参见此处的示例: 在上述示例中,菜单栏中有两个项目,即联系人和关于。单击每个项目时,状态以及地址栏中的url都会发生更改 如果我事先知道url并在地址栏中手动添加该url端点,它将按预期重定向。我想禁用此功能。是否有人遇到类似问题。请求共享类似体验。您可以使用隐藏(挤压)url参数: .state("myRoute", { url: "/myRoute", temp

我在UI-ROUTER上试验了很长一段时间,发现如果我在地址栏中手动粘贴端点(url),就可以重定向到所需的页面

请参见此处的示例:

在上述示例中,菜单栏中有两个项目,即
联系人
关于
。单击每个项目时,状态以及地址栏中的url都会发生更改

如果我事先知道url并在地址栏中手动添加该url端点,它将按预期重定向。我想禁用此功能。是否有人遇到类似问题。请求共享类似体验。

您可以使用隐藏(挤压)url参数:

.state("myRoute", {
    url: "/myRoute",
    templateUrl: "...",
    controller: "...",
    params: {
        token: {value: undefined, squash: true}
    },
})

用户从未见过令牌,但您可以为每个应用程序引导生成一个令牌,并使用它来验证每个状态更改。

这就是使用URL作为导航手段的意义所在,因此您始终可以直接深入链接到信息。您需要访问控制,如以编程方式检查是否允许用户基于当前程序状态访问特定屏幕,或者您只想在不更改URL的情况下显示和隐藏内容。如果我想使用访问控制限制用户,如何将其应用于状态?$scope.$on(“$statechangesucture”,函数)(ev,to,toParams,from,fromParams){//do smth here});在那里,您可以简单地检查url是否受到限制并重定向到某个位置,您的意思是从后端服务生成令牌?您生成令牌的位置取决于您的客户端/服务器配置,从后端服务生成令牌更好,但如果只是检查url,您可以在angular的服务上生成令牌我生成了令牌,并将其保存在中LocalStorageReactore.common模块实例化失败,原因是:错误:在q.r[as state]()的n()处的Object.z.params()处状态为“uom”的参数无效…发布了一些代码…我已编辑了我的帖子,请从url中删除:token param