发表于: 2017-07-02 23:24:49

1 984


今天完成的事情:帮王力的妹子做苦力,配好git,研究模块管理


明天计划的事情:方案评审、和其他组员分配任务、开始写项目


遇到的问题:


一、一开的时候后端接口没号,需要些一些json格式的假数据,来模拟后端的数据



二、对source tree 的使用不是太熟


收获:

小课堂关于权限的管理:


       权限的设计中比较常见的就是RBAC基于角色的访问控制,基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。

    一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。


在Angular构建的单页面应用中,要实现这样的架构我们需要额外多做一些事.从整体项目上来讲,大约有3处地方,前端工程师需要进行处理.

    1. UI处理(根据用户拥有的权限,判断页面上的一些内容是否显示)

    2. 路由处理(当用户访问一个它没有权限访问的url时,跳转到一个错误提示的页面)

    3. HTTP请求处理(当我们发送一个数据请求,如果返回的status是401或者401,则通常重定向到一个错误提示的页面)


实现:

    首先需要在Angular启动之前就获取到当前用户的所有的permissions,然后比较优雅的方式是通过一个service存放这个映射关系.对于UI处理一个页面上的内容是否根据权限进行显示,我们应该通过一个directive来实现.当处理完这些,我们还需要在添加一个路由时额外为其添加一个"permission"属性,并为其赋值表明拥有哪些权限的角色可以跳转这个URL,然后通过Angular监听routeChangeStart事件来进行当前用户是否拥有此URL访问权限的校验.最后还需要一个HTTP拦截器监控当一个请求返回的status是401或者403时,跳转页面到一个错误提示页面.




返回列表 返回列表
评论

    分享到