在Polymer 1.0

时间:2015-08-20 19:18:35

标签: firebase polymer polymer-1.0 google-signin firebase-authentication

刚开始使用Polymer 1.0。我的单页聚合物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>只有 ADMIN 才能看到
  • <page-user> 任何已登录的用户都可以看到

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

如何实施基于授权的路由?在所有<app-routes>我需要检查用户是否已授权。任何人都可以指出实施这个的例子吗?

1 个答案:

答案 0 :(得分:0)

看一下iron-meta来存储像isAuthorized这样的全页状态。

为了区分安全页面和公共页面,您必须自己照顾。使用更改观察器作为页面路径或selecteditem或类似物。

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

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