[富客户端之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是...

CXF-06:Web Service暴露后如何进行权限控制,CXF拦截器的理论以及如何为CXF的客户端和服务器端添加拦截器

Web Service暴露后所有人都可以调用,如何进行权限控制? 解决思路是:服务器端要求input消息总是携带有用户名、密码信息,————如果没有或不正确,拒绝调用。 * 如果不用...

单点登录(十八)----cas4.2.x客户端增加权限控制shiro

我们在上面章节已经完成了cas4.2.x登录启用mongodb的验证方式。单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方式完整流程也完成了获取管理员身份属性单点登...

J2EE+Flex的菜单及权限控制实践

本文讲述了J2EE+Flex的一些开发心得。作者一直是搞J2EE的,使用了blazeds,Flex通过RemoteObject调用Java的后台方法。这样的一个最大的好处就是不再需要struts这样之...

Flex PHP RIA 富客户端调试技巧

这篇文章的背景是Flex+PHP进行整合Web开发。Flex PHP RIA 富客户端调试技巧可分为在服务端对PHP进行调试,在客户端对Flex进行调试,但是在服务端和客户端怎样对通信进行检测了,我们...

jQuery easy-ui 富客户端AJAX框架

  • 2011年05月12日 11:58
  • 394KB
  • 下载

Flex客户端设置speex编码时Red5对音频数据的处理以及将speex解码

§ 客户端设置音频编码格式speex且包中只一个帧 § red5接收帧并添加帧长 § 解码时依据帧长获取帧数据解码 1.flex客户端的设置 因为flex只支持Nellymoser(默认的)和...
  • gyley2
  • gyley2
  • 2013年01月05日 17:27
  • 1852

flex 客户端缓存 module swf

flex或者flash客户端的缓存,并不是指浏览器的缓存,浏览器的缓存在一定时间后会过期,先作此声明。使用flex或者flash开发出来的网站最大的问题就是swf文件过大,国内网速有限,导致加载时间过...

Flex采用blazeds实现服务器向(特定标识的)客户端推数据(基于consumer模式)

前言: 有很多类似股票、外汇、期货等实时行情这种应用,客户端需要显示行情牌价等信息。 目前的作法是:客户端定时向服务器请求,无论数据是否有更新,都把数据发到客户端。 我们这里讲的一种技术不同以上...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[富客户端之Flex技术] flex UI组件权限控制框架
举报原因:
原因补充:

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