发表于: 2017-07-02 23:18:31

1 935


今天完成的事情:

继续学习angular的指令,并自定义指令

学习用户权限的管理。


明天计划的任务:

完成分页自定义指令

查找项目中的bug并修复。


遇到的问题:

指令中的模板的样式文件应该写在哪儿,链接在html模板里面吗?


收获:

权限的设计:

基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。

在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时,跳转页面到一个错误提示页面.


返回列表 返回列表
评论

    分享到