[富客户端之Flex技术] flex UI组件权限控制框架

翻译 2012年03月28日 15:24:52
一.快速开始

1) 下载并添加flex_security.swf在你的flex libs中,详细请查看附件.


2) 启动权限控制

//启动权限控制,permissions为用户拥有的权限字符串列表
SecurityControler.start(permissions,'visible');

3) 通过增加styleName=security(permission,controlBy)为你的按钮增加权限控制

<mx:Button label="new user" styleName="security(user_new)" />
<mx:Button label="update user" styleName="security(user_update)"/>

如上,如果用户拥有这两个权限(permissions):user_new,user_update,则可以见到这两个按钮,然后执行相关操作


二.ActionScript代码的权限控制

if(SecurityControler.isPermitted('blog_delete')) 
{
    //execute delete blog action
}
三.在线demo 四.详细描述

styleName: security(permission,controlBy)

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

controlBy

按什么方式来控制权限。

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

SecurityControler类,包含全部的主要权限控制操作:

/**
* 启动权限控制
* permissions: 字符串列表,为拥有的权限
* default_control_by: 按那种方式控制权限,可选值: visible,enabled,remove,includeInLayout
*/
public static function start(permissions:ArrayCollection = null,default_control_by : String = "visible"):void 

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

// 移除所有权限
public static function removeAllPerms():void
/**
* 更新拥有的权限
* perms: 字符串列表,用户拥有的权限
*/             
public static function updatePerms(perms:ArrayCollection):void 

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

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

// 判断是否拥有权限
//示例: if(SecurityControler.isPermitted('blog_delete')) { do some thing} 
public static function isPermitted(perm:String):boolean

参考网址:http://code.google.com/p/flex-security/ 


富客户端 (Flash/Flex/HTML5) 如何技术选型

在HTML5发布以前,RIA领域的技术解决方案一直相都是各展所长,并无争议。Adobe体系中,Flash做不了的事情,Flex可以做到;.Net系决策者在选用RIA解决方案时,Silverlight是...
  • keydot2007
  • keydot2007
  • 2013年07月29日 13:20
  • 1363

flex和Flash的区别

运用Flash是完全可以做到flex的效果 但Flash是为了designer(设计者)设计的,界面还有flash的动画概念和程序开发人员格格不入。 Flex是为developers(开发者)设计的...
  • wlanye
  • wlanye
  • 2013年01月06日 21:58
  • 1258

Flex常用组件

Flex常用组件(上)学习内容Ø Flex组件的分类Ø Flex常用组件的使用。Ø 使用组件处理数据和交互Ø ActionScript3.0和JavaScript交互能力目标Ø 掌握使用各种常用组件搭...
  • zhangchen124
  • zhangchen124
  • 2017年03月11日 07:43
  • 1016

Flex框架及最详细比较 MX and Spark组件

Flex3到Flex4,增加了Spark组件,这是Flex的一次重要升级,基本上组件全部重写了一套,为了保持向下兼容,出现了同一组件两套实现并存的现象,虽然说Spark组件中也可嵌入MX组件,但实际使...
  • ajian005
  • ajian005
  • 2013年01月19日 10:54
  • 1688

selenium对flex程序的自动化测试

因为公司的项目需要导入selenium对flex程序进行测试,我研究了一段时间稍有成就,因为在研究过程中发现selenium对flex的应用资料比较少,当然在这里也学到一些东西。所以研究后就把我学到的...
  • wangyutian2011
  • wangyutian2011
  • 2015年03月25日 10:19
  • 1144

flex开源类库

Adobe APIs 主要包含corelib, mappr, flickr, youtube及加密等类库. http://labs.adobe.com/wiki/index.php/ActionS...
  • dongdong_java
  • dongdong_java
  • 2013年06月18日 12:53
  • 809

Flex开发实战(一)--Flex的详细介绍

无论是做web还是桌面应用,相信大家对于界面的要求已经越来越高,界面趋于大图标,扁平化,要求不断提高用户体验度高,把握好人机交互。相应的技术也层出不穷,例如:Flex,JQuery,Ajax,HTML...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2015年06月24日 00:01
  • 11538

flex中获得子组件的父级对象和顶级对象

parentApplication 组件的parentApplication属性包含此组件的Application对 象,Application对象本身的parentApplication为null...
  • catherine0_0
  • catherine0_0
  • 2013年01月22日 09:57
  • 637

Flex之旅:第二部分:容器与布局(2)---动态添加组件(TabNavigator)

动态添加组件 其实所谓的动态添加组件,就是使用as代码去添加,而不是使用标签去事先定义好。 我定义了一个TabNavigator,初始化时候,没有往里面添加任何的组件。 之后...
  • miqi770
  • miqi770
  • 2015年03月26日 10:23
  • 3619

FLEX4 语法及重点概要---入门篇(超详细)

chapter 1 : intruduction to flex4 1、flex包含一个基于组件的开发模型,你只需要按需求继承现有的组件并扩展相关的方法就可开发你的应用。2、可视化组件包括以下主要特...
  • xiunai78
  • xiunai78
  • 2016年12月21日 12:21
  • 1499
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[富客户端之Flex技术] flex UI组件权限控制框架
举报原因:
原因补充:

(最多只允许输入30个字)