`
nlslzf
  • 浏览: 1049170 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex企业级UI权限控制

    博客分类:
  • flex
阅读更多

http://www.pin5i.com/showtopic-26835.html

网上搜索了一番,用于控制flex UI组件权限框架只有chimp相近一些. 

但是不喜欢他的基于flex annotation的权限控制方式.遂决定自己写一套flex权限控制框架。

如果你熟悉作者的另外一套javascript 表单验证框架rapid-validation,将会对下面的使用方式有似曾相识的感觉。(文/badqiu

一.快速开始

1) 下载并添加flex_security.swf在你的flex libs中

2) 启动权限控制
  1. //启动权限控制,permissions为用户拥有的权限字符串列表
  2. SecurityControler.start(permissions,'visible');
复制代码
3) 通过增加styleName=security(permission,controlBy)为你的按钮增加权限控制
  1. <mx:Button label="new user" styleName="security(user_new)" />
  2. <mx:Button label="update user" styleName="security(user_update)"/>
复制代码
如上,如果用户拥有这两个权限(permissions):user_new,user_update,则可以见到这两个按钮,然后执行相关操作

注意:如果你不喜欢styleName添加权限保护,还有其它方式:如实现接口,编程方式增加,请查看后面的demo

二.ActionScript代码的权限控制
  1. if(SecurityControler.isPermitted('blog_delete')) 
  2. {
  3.     //execute delete blog action
  4. }
复制代码
三.在线demo


    * helloworld_by_styleName 示例使用styleName添加权限保护
    * helloworld_by_interface 示例使用实现接口来添加权限保护
    * helloworld_by_annotation 示例使用annotation:[Projected]来添加权限保护
    * helloworld_by_manual 示例使用手工的方式添加权限保护


四.详细描述

1) styleName: security(permission,controlBy)

    * permission: 权限标识,用户拥有该权限,才可以执行相关操作。可选参数,如果为空,则会取该comp.id作为permission
    * controlBy: 按什么方式来控制权限,有(visible,enabled,includeInLayout,remove)。可选参数,如果为空,则取 SecurityControler?.start(perms,defaultControlBy)中的defaultControlBy的值,默认是 visible

2) controlBy: 按什么方式来控制权限

    * visible : 可见性,有权限为true,没有权限为false
    * enabled : 激活状态,有权限为true,没有权限为false
    * includeInLayout : 有权限为true,没有权限为false
    * remove : 使用removeChild()将对象从parent中remove掉,有权限不remove,没有权限则remove
    * all : 包含前面所讲的:visible,enabled,includeInLayout,但不包含remove

3) SecurityControler 类,包含全部的主要权限控制操作
  1. /**
  2. * 启动权限控制
  3. * permissions: 字符串列表,为拥有的权限
  4. * default_control_by: 按那种方式控制权限,可选值: visible,enabled,remove,includeInLayout
  5. */
  6. public static function start(permissions:ArrayCollection = null,default_control_by : String = "visible"):void 

  7. //停止权限控制 
  8. public static function stop():void 

  9. // 移除所有权限
  10. public static function removeAllPerms():void
  11. /**
  12. * 更新拥有的权限
  13. * perms: 字符串列表,用户拥有的权限
  14. */ 
  15. public static function updatePerms(perms:ArrayCollection):void 

  16. //增加一条权限 
  17. public static function addPerm(permName:String):void

  18. // 减少一条权限
  19. public static function removePerm(permName:String):void

  20. // 判断是否拥有权限
  21. //示例: if(SecurityControler.isPermitted('blog_delete')) { do some thing} 
  22. public static function isPermitted(perm:String):boolean
复制代码
代码下载:

分享到:
评论

相关推荐

    flex3企业级web应用系统设计与实现

    5. **企业级应用设计**:在企业级应用中,数据管理、权限控制、状态管理、错误处理等都是核心部分。本书会介绍如何利用Flex构建可扩展、可维护的系统结构,以及如何处理大规模应用中的性能优化问题。 6. **富互联网...

    cfw-flex 通用系统框架Flex版(包括登录、主页、功能导航和权限管理控制)

    `cfw-flex` 是一个基于J2EE架构并采用Flex技术的通用系统框架,专门设计用于构建企业级应用。它集成了登录验证、主页面展示、功能导航以及精细的权限管理控制,旨在提高开发效率,同时提供用户友好的界面和安全的...

    flex+java权限管理系统

    《Flex+Java权限管理系统配置详解》 在信息技术领域,权限管理是系统安全的重要组成部分,它涉及到用户访问控制、角色分配以及...理解并掌握这个系统的配置和实现,对于提升企业级应用开发能力具有重要的实践意义。

    flex 学生成绩管理系统

    总之,Flex学生成绩管理系统是一个集成了数据管理、查询、统计和权限控制的综合应用,展示了Flex在构建企业级Web应用程序中的强大能力。通过深入学习和实践,你可以更好地掌握Flex的开发技巧,并将其应用于更多的...

    Flex 3 RIA开发详解与精深实践一

    - **Flex Data Service**:这一组件允许Flex应用与后端服务器进行实时通信,支持高级数据服务,如数据推送、数据缓存和数据同步,使Flex成为构建企业级应用的理想选择。 - **Flex Builder**:作为一款集成开发环境...

    Flex流程设计器

    Flex流程设计器是一款基于Adobe Flex技术开发的业务流程设计工具,其源码的提供为开发者提供了...总的来说,Flex流程设计器源码的开放为开发者提供了宝贵的实践和学习资源,有助于提升在企业级应用开发中的技能和经验。

    flex经典实例(flexstroe)flex+spring+hibernate

    Flex作为前端UI技术,提供用户友好的图形界面,而Spring作为企业级Java应用的中心框架,负责管理对象和服务,Hibernate则作为持久层框架,处理数据库操作。 1. **Flex技术**:Flex是一种基于ActionScript和MXML的...

    Flex_4.0_RIA开发详解

    4. **企业级的特征**:Flex 提供了安全的数据传输和强大的数据管理,适合构建大型企业级应用,如数据可视化、实时协作工具等。 5. **消除页面加载**:通过使用数据缓存和异步通信,Flex 应用可以减少对服务器的依赖...

    Flex + LCDS + Java 入门教程

    2. **LCDS (LiveCycle Data Services)**: Adobe LiveCycle Data Services是Adobe Flex企业级解决方案的一部分,主要用于增强Flex与服务器端系统的集成。LCDS提供了实时数据服务,包括 Blaze DS、 Granite DS 和 ...

    自己整理的flex与java结合的学生管理系统-很好的入门及提升的例子

    Flex与Java结合的学生管理系统是一个典型的企业级Web应用开发案例,它展示了如何利用Adobe Flex作为前端展示层技术,与Java后端进行数据交互,实现高效、动态的用户界面。在这个项目中,LCDS(LiveCycle Data ...

    Pro Flex on Spring

    - **安全性和权限管理**:对于企业级应用而言,安全性和权限管理是至关重要的。本书详细讨论了如何在Spring与Flex集成的过程中实现这些功能。 #### 五、总结 《Pro Flex on Spring》这本书为希望在现有Spring应用...

    flex_spring示例代码

    在IT行业中,Spring框架是Java应用开发中的一个关键组件,主要用于构建企业级应用程序,而Flex则是一种用于创建富互联网应用程序(RIA)的前端技术。"flex_spring示例代码"这个压缩包提供了一个将这两者结合使用的...

    flex应用flex应用flex应用

    10. **Flex的应用场景**:Flex常用于企业级应用、数据可视化、多媒体项目、游戏开发等,它的强大功能和便捷性使其在一段时间内成为RIA开发的首选技术。 文件名为"flexaweb",可能是指一个Flex开发的Web应用程序实例...

    Flex 入门_2007.rar

    10. **Flex的应用场景**:Flex常用于构建企业级Web应用程序,如数据可视化工具、内容管理系统、在线协作平台等,尤其适合需要动态交互和丰富用户体验的场合。 这个"Flex 入门_2007"教程可能会涵盖以上提到的诸多...

    flex + java开发的信息系统

    通过学习和实践这个项目,Flex初学者不仅可以掌握Flex4的UI设计和Java服务器的交互,还能深入了解企业级应用的开发流程和最佳实践。同时,MySQL的集成增强了数据管理能力,使得整个系统更加完整和实用。

    JAVA企业级WEB系统框架

    Spring Security 2.04版本提供了更强大的安全性,包括对角色、URL、方法级别的权限控制。 3. **Struts2**:作为MVC(模型-视图-控制器)框架,Struts2负责处理HTTP请求,将数据绑定到业务层,然后更新视图。它提供...

    Flex整合J2EE开发小记+源码下载

    而J2EE则为开发者提供了强大的企业级服务,如事务管理、安全控制、集群支持等。 总的来说,Flex与J2EE的结合是现代企业级应用开发中常见的一种模式,它结合了前端的易用性和后端的强大功能,是构建复杂Web应用的...

    Flex4与Hibernate+Spring整合项目

    同时,Spring的AOP(Aspect-Oriented Programming)支持可以方便地实现切面功能,如日志记录、权限控制等。 3. **Hibernate持久化**:Spring可以与Hibernate无缝集成,处理数据持久化。开发者可以通过编写DAO(Data...

    spring-blazeds-reference.rar_blazeds-bin-4._flex

    它通过依赖注入(DI)和面向切面编程(AOP)等概念,简化了企业级应用的开发。Spring还包含了一个强大的数据访问层,支持JDBC、Hibernate、MyBatis等多种ORM工具,以及Web MVC框架,方便前后端的交互。 2. Adobe ...

    flex4+ssh做的一个oa系统

    SSH则负责处理系统的登录验证、权限控制、工作流管理、数据存储等核心功能。例如,Struts2可以定义控制器来处理用户操作,Spring可以管理服务层和DAO层的bean,而Hibernate则用于与数据库交互。 在文件名“flex_...

Global site tag (gtag.js) - Google Analytics