Flex-Security权限控制框架
转自:http://code.google.com/p/flex-security/
flex UI组件权限控制框架
一.快速开始
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
- helloworld_by_styleName 示例使用styleName添加权限保护
- helloworld_by_interface 示例使用实现接口来添加权限保护
- helloworld_by_annotation 示例使用annotation:Projected来添加权限保护
- helloworld_by_manual 示例使用手工的方式添加权限保护
- 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
Flex-Security权限控制框架的更多相关文章
- security权限控制
目录 前言 数据库和dimain 静态页面 配置文件 web.xml引入 service校验方法 用户名的获取 不同角色访问控制权限 jsp页面 后台 前言 spring自带角色权限控制框架 用户-角 ...
- 自定义Spring Security权限控制管理(实战篇)
上篇<话说Spring Security权限管理(源码)>介绍了Spring Security权限控制管理的源码及实现,然而某些情况下,它默认的实现并不能满足我们项目的实际需求,有时候需要 ...
- WPF权限控制框架——【4】抛砖引玉
写第一篇"权限控制框架"系列博客是在2021-01-29,在这不到一个月的时间里,收集自己零碎的时间,竟然写出了一个"麻雀虽小,五脏俱全"的权限控制框架:对于一 ...
- 权限控制框架Spring Security 和Shiro 的总结
关于权限控制,一开始感觉比较难,后来先是接触了Spring Security 学起来也比较吃力,再是学习了Shiro,感觉简单很多. 总体来说这些框架,主要做了两个事情 Authentication: ...
- 权限控制框架Shiro简单介绍及配置实例
Shiro是什么 http://shiro.apache.org/ Apache Shiro是一个非常易用的Java安全框架,它能提供验证.授权.加密和Session控制.Shiro非常轻量级,而且A ...
- Spring Security权限控制
Spring Security官网 : https://projects.spring.io/spring-security/ Spring Security简介: Spring Security是一 ...
- django通用权限控制框架
在web项目中根据不同的用户肯定会限制其不同的权限,利用以下模块可以满足日常几乎所有的权限控制 permission_hook.py # 自定义权限控制,必须返回True/false ,True表 ...
- 了解权限控制框架shiro 之实际应用.
Apache Shiro 1.权限控制分为 a.粗粒度 URL 级别权限控制 b.细粒度方法级别权限控制 2.使用shiro进行权限控制主要有四种主要方式 : a. 在程序中 通过 Subje ...
- Shiro权限控制框架
Subject:主体,可以看到主体可以是任何可以与应用交互的"用户": SecurityManager:相当于SpringMVC中的DispatcherServlet或者Strut ...
随机推荐
- WinDriver&PCIE
1.安装VS2012 安装VS2012略过,主要用它来做数据传输应用程序的,WINDRIVER提供了一系列API接口,方便了用户,使用户能直接进入用户态的编程,因为内核态的编程它已做好,不需要进行修改 ...
- (转载)OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
前一篇说到了Foundation框架中的NSDirctionary类,这一一篇来看一下Foundation的其他常用的类:NSNumber,NSDate,NSException. 注:其实按照Java ...
- MVC同一页面循环显示数据库记录(答题/投票系统)
) { //int id = 1; list newlist = db.lists.Find(id); //var q = from p in db.lists where p.id==1 selec ...
- linux c 多线程编程
linux 下 c 语言多线程: /* 06.3.6 Mhello1.c Hello,world -- Multile Thread */ #include<stdio.h> #inclu ...
- 200 OK (from cache) 与 304 Not Modified
解释: 200 OK (from cache) 是浏览器没有跟服务器确认,直接用了浏览器缓存: 304 Not Modified 是浏览器和服务器多确认了一次缓存有效性,再用的缓存. 触发区别: 2 ...
- Hadoop学习笔记(7) ——高级编程
Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...
- 淘宝的ruby镜像已无人维护,使用ruby-china的RubyGems镜像
淘宝的镜像已经无人维护了,参考 https://ruby-china.org/topics/29250 https://gems.ruby-china.org/ 使用新的镜像 $ gem source ...
- 指定的值不是类型“Edm.Int32”的实例
指定的值不是类型“Edm.Int32”的实例参数名: value 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常 ...
- html5 拖放到购物车
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 关于使用base36的技巧 生成 优惠券兑换码的相关讨论
关于优惠券的生成后台的制作问题,已经拖了很久了还没有合并.但是持续暴露出来的问题 也很多,我的代码以及前面的一个人的代码被持续review暴露出了大量问题.昨天晚上在