【发布时间】:2015-12-12 08:04:41
【问题描述】:
如果在 Aurelia canActivate 方法内,则确定用户不应该能够查看请求的页面。如何在不允许访问的 URL 处向该用户显示“未经授权”页面?
我不想返回 new Redirect("#/unauthorized"),因为这样用户就看不到他们不允许访问的 URL,而且我在 URL 中有一些导航栏状态会丢失。
注意:一个可能的答案可能是“你做错了”。 :)
【问题讨论】:
-
您是否有理由不只是保存来自 URL 的数据,然后在未经授权的页面中显示该信息?看来您还可以保存 url 中的任何状态以供以后使用。
-
我们有从 URL 获取状态的导航栏组件,因此我们不想更改 URL 并丢失导航栏状态。如果 URL 没有改变,则导航栏保持其状态,因此用户可以使用它从未经授权的页面快速移动。
-
但是你不能修改它,让导航栏状态绑定到 ViewModel 的属性而不是 URL 吗?然后,如果 URL 更改,则无关紧要。将导航栏直接绑定到 URL 似乎有点脆弱。
-
是的,但对我来说,在两个地方维护该状态更为脆弱,因为那样它们可能会不同步。如果 URL 说您在“公司 A”,但导航栏说您在“公司 B”,那就不好了。
-
好的,只是一个建议。 :)
标签: javascript routing aurelia