【问题标题】:Polymer 1.0: Controlling Access to or from a RoutePolymer 1.0:控制进出路由的访问
【发布时间】:2018-05-12 19:48:36
【问题描述】:

Angular2 使用 Route guard 来控制用户是否可以导航到或离开给定的路由,所以如果未经授权的用户尝试访问路径,路由守卫会保护。

在聚合物 1.0 中是否有其他的路由保护方式?如果不是,如何实施?

【问题讨论】:

    标签: routing polymer polymer-1.0 polymer-starter-kit app-route


    【解决方案1】:

    我不知道任何现有的实现,尽管搜索http://webcomponents.org 总是一个好主意,因为那里可能随时会弹出。

    要自己实现这一点,首先要创建某种权限管理行为(或 Polymer 2 中的 mixin 类)(可能会查询 Web 服务以获取 {right1: Array<User>, ...} 的映射;但不要忘记缓存等...) 它有一个方法checkRight(rightName, user)。 然后,您可以将该行为/类混入消费元素,并将方法checkRight 绑定到您要保护的任何元素,例如铁页的孩子的hidden-attribute:

    <dom-module id="my-app">
    <template>
        <iron-pages ...>
            <my-page-1 hidden$="[[checkRight('right1', currentUser)]]"></my-page-1>
            <my-page-2 hidden$="[[checkRight('right2', currentUser)]]"></my-page-2>
            ...
        </iron-pages>
    </template>
    <script>
        Polymer({
            is: 'my-app',
            properties: {
                currentUser: {...}
            },
            behaviors: [My.RightsManagedBehavior]
        });
    </script>
    </dom-module>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-02
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多