0

刚刚开始使用 Polymer 1.0。我的 Single Page Polymer 1.0 应用程序有多个路由。

    <paper-drawer-panel id="mainPanel" class="flex" >
       <app-router id="router" class="flex" mode="pushstate">
         <app-route path="/" element="page-landing"></app-route>
         <app-route path="/user" element="page-user"></app-route>
         <app-route path="/admin" element="page-admin"></app-route>
         ....// more <app-routes>
       </app-router>
    </paper-drawer-panel>

我想在登陆页面上<firebase-auth>使用谷歌作为提供者<page-landing>

在成功验证时,我想根据授权导航到<app-route>路径

  • <page-admin>只有管​​理员可以看到
  • <page-user> 任何登录的用户都可以看到

Say<page-landing>提供以管理员或用户身份登录的选项。

如何实现基于授权的路由?总之,<app-routes>我需要检查用户是否已授权。任何人都可以指出一个实现这一点的例子吗?

4

1 回答 1

0

看看 iron-meta 来存储页面范围的状态,比如isAuthorized.

为了区分安全页面和公共页面,您必须小心自己。对页面路径或选定项或类似项使用更改观察器。

关于身份验证和授权,你运气不好,因为所有子页面都是通过 html 链接标签导入的,你不能附加任何标题。但实际上这并不是一个真正的问题。因为通常您喜欢保护每个页面的数据,而不是整个页面本身。并且 html 导入仅加载视图/页面模板,您仍然必须使用客户端数据填充它。这通常是通过 ajax 调用请求的,您可以照常提供 auth-header。

希望这些描述可以帮助您找到自己的方式...

于 2015-08-21T12:48:41.210 回答