- 浏览: 1780068 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (641)
- vb2005xu自己动手系列 (174)
- vb2005xu开发文章转摘 (47)
- vb2005xu发发牢骚 (99)
- vb2005xu新技术灌水 (12)
- vb2005xu网络资源集锦 (21)
- vb2005xu软件学习 (60)
- 英语学习 (3)
- JavaScript 学习 (54)
- JAVA OOP 巩固 之 CustomDatabase 的开发 (5)
- 2013年9月之前所在公司 记事 (7)
- FleaPHP/QEEPHP 资料 (87)
- JAVA MAIL 学习篇 (4)
- Python turbogears (5)
- Rails 个人开发四部曲 (3)
- 名人传 (8)
- iwp framework (5)
- 高考零分作文 (5)
- startos (8)
- lua (0)
- 职场 (1)
最新评论
-
hellotieye:
自己 评论 自己 挺嗨呀
Mysql sql查询时 if 的用法 -
igevin:
转载请标明出处,转自Gevin的博客http://blog.i ...
RESTful API 编写指南 -
Theobob:
...
实现简单的ACL -
vb2005xu:
比如 对于 curl 调用就不再需要 加各种if 判断了,
$ ...
搞一个简单的数据打印工具AsDebug の Laravel -
vb2005xu:
http://geekplux.com/wiki/
YII2 模块内自定义错误页
<?php /** * Acl 权限管理接口 * * @author 色色 */ interface App_Api_Acl { /** * 用户 */ const __USER__ = 'iwp.acl.users'; /** * 角色 */ const __ROLE__ = 'iwp.acl.roles'; /** * 资源 */ const __RESOURCE__ = 'iwp.acl.resources'; /** * 用户-角色 */ const __USERS_HAS_ROLES__ = 'iwp.acl.users_has_roles'; /** * 角色-资源 */ const __ROLES_HAS_RESOURCES__ = 'iwp.acl.roles_has_resources'; /** * 不允许任何人访问 */ const NOBODY = 0; /** * 允许任何人访问 */ const EVERYONE = 1; /** * 允许 拥有角色的用户访问 */ const HAS_ROLE = 2; /** * 允许 不带有角色的用户访问 */ const NO_ROLE = 3; /** * 在 资源-角色关联 定义的 角色才能访问 */ const ALLOCATE_ROLES = 4; /** * 创建资源,返回资源记录主键 * * 要检查 $uuid 是否唯一,如果不唯一,则应抛出 Core_Exception_SqlPrimaryKeyExists 异常 * * @param string $uuid * @param int $access * @param string $description * * @return int */ function createResource($uuid,$access,$description); /** * 修改资源,返回成功状态 * * 修改时不能 修改 资源的 uuid 和 主键编号 * * @param array $resource * * @return int */ function updateResource(array $resource); /** * 删除资源 * * 相应的也要解除其与角色的关系 * * @param string $uuid * * @return int */ function deleteResource($uuid); /** * 创建角色,返回角色记录主键 * * 要检查 $rolename 是否唯一,如果不唯一,则应抛出 Core_Exception_SqlPrimaryKeyExists 异常 * * @param string $rolename * @param string $description * * @return int */ function createRole($rolename,$description); /** * 修改角色,返回成功状态 * * 修改时不能 修改 角色名 和 主键编号 * * @param array $role * * @return int */ function updateRole(array $role); /** * 删除角色 * * 相应的也要解除其与资源的关系 * * @param int $role_id * * @return int */ function deleteRole($role_id); /** * 为资源指定角色,每次均先全部移除表中相关记录再插入 * * @param string $uuid * @param mixed $role_ids * @param boolean $set_null 是否使用Acl内置的访问授权来设置该资源,此举将会清空该uuid对应的{角色-资源}的关联记录 * @param int $default_access 指定访问授权的值 * * @return boolean */ function allocateRolesForResource($uuid,$role_ids,$set_null=false,$default_access=-1); /** * 清除指定资源的角色信息 * * @param string $uuid * * @return int */ function cleanRolesForResource($uuid); /** * 清除指定角色的资源访问列表 * * @param int $role_id * * @return int */ function cleanResourcesForRole($role_id); /** * 为角色分配资源,每次均先全部移除表中相关记录再插入 * * @param int $role_id * @param mixed $uuid_ids * * @return boolean */ function allocateResourcesForRole($role_id,$uuid_ids); /** * 为用户指派角色,每次均先全部移除表中相关记录再插入 * * @param int $user_id * @param mixed $role_ids * * @return boolean */ function allocateRolesForUser($user_id,$role_ids); /** * 清除用户的角色信息 * * @param int $user_id * * @return int */ function cleanRolesForUser($user_id); /** * 解除指定角色的用户关联 * * @param int $role_id * * @return int */ function cleanUsersForRole($role_id); /** * 校验资源能否被指定的角色列表访问(只需满足某一个角色能够访问就行) * * @param string $uuid 资源标识 * @param array $role_ids * * @return boolean */ function aclVerity($uuid ,array $role_ids = null); /** * 重新生成 角色资源访问控制表 * * @param string $aclElement ACL元素标识 * @param boolean $return 是否返回重新生成的列表 * * @return mixed */ function aclRebuildACT($aclElement ,$return = false); /** * 获取 角色资源访问控制表 数据 * * @param string $aclElement ACL元素标识 * * @return mixed */ function aclGetACT($aclElement); /** * 获取 资源 记录 * * @param string|array $uuid * * @return array */ function aclGetResource($uuid); /** * 获取 角色 记录 * * @param int|array $role_id * * @return array */ function aclGetRole($role_id); /** * 如果 角色与资源关联,就返回对应的数据,否则返回空; * * 此方法可以校验资源是否可被此角色访问 * * @param int $role_id * @param string $uuid * * @return array */ function aclGetRoleHasResource($role_id,$uuid); // /** // * 获取 角色能够访问的资源集合 // * // * @param int $role_id // * // * @return array // */ // function aclGetResourcesByRoleId($role_id); /** * 获取 资源被赋予的角色集合 * * @param array $resource * * @return array */ function aclGetRolesByResource(array $resource); }
评论
2 楼
vb2005xu
2012-03-31
http://blog.csdn.net/painsonline/article/details/7183629 权限管理实现
1 楼
vb2005xu
2012-03-13
http://www.cmd5.com/service.aspx md5解密
发表评论
-
前端截取url成图片
2017-11-09 18:16 1564有些小需求需要将 url 转成图片, 直接使用 ... -
excel-to-csv-inbrowser
2016-08-15 19:20 2901# excel-to-csv-inbrowser exce ... -
ws-http 最简单轻量的PHP CURL工具库
2016-07-29 20:44 2632欢迎大家拍砖 https://github.com/to ... -
常用的 js 代码梳理
2016-06-16 12:00 1929/** * 格式化时间函数 * @param {form ... -
Facade 包装类 -- 解决视图里面长长的命名空间调用问题
2016-04-20 10:48 1750有时候模版里面定义 ... -
搞一个简单的数据打印工具AsDebug の Laravel
2016-01-20 19:47 2996很多时候我们都要纠结于代码开发过程中的数据 dump 工作 ... -
ken\trade
2015-12-18 20:45 1557<?php namespace ken\tra ... -
我承认我手贱: 升级 xcode
2015-11-14 21:11 1892升级 xcode 之后, 在终端运行 git clone 出现 ... -
YII2 模块内自定义错误页
2015-11-07 12:17 5514当前YII框架中把错误异常配置都放置在 web.php 中, ... -
PHP单例模式面试注意事项
2015-10-20 09:57 1957最近面了不少PHP从业者,有实习生也有5/6年以上的开发者 ... -
NGINX 配置 SSL 证书 搭建 HTTPS 网站
2015-10-19 19:19 2920下面是详细的配置过程: 1、在服务器上使用 Open ... -
关于php cron任务管理的实现假想
2015-10-17 21:25 1903之前每开发一个计划任务功能均需要在线上操作crontab来新 ... -
fineuploader 跨子域上传文件 cookie丢失问题的解决
2015-10-14 13:30 4819目前的项目中,使用到了fineuploader 这个纯htm ... -
CentOS 6安全加固及性能优化
2015-07-27 14:54 4299CentOS 6安全加固及性能优化 我们可以通过调整 ... -
常见票据辨别真伪的方法
2015-04-28 09:07 17521、真伪鉴别图示和步 ... -
梳理面试中遇到的HTTP协议相关的问题和知识
2015-04-16 13:45 3948本文会是一个比较长的,持续更新的过程 当你在浏览器地 ... -
面试中遇到的期权问题
2015-04-13 14:33 2748最近在面试一直遇到 ... -
遭遇windows上PHP 不能打开GBK编码文件名的问题
2015-03-09 11:21 3158我在 目录下建了一个文件名为 謀定三國-i8ujlw.js ... -
遭遇jsonp同域下变作post请求的坑
2015-01-28 21:39 4766今天迁移一个站点时遇到一个坑爹问题,同一个jsonp接口在 ... -
nginx 400 错误请求分析
2015-01-27 15:01 3343在服务器上传文件过程中 nginx经常会出现 400 的错误 ...
相关推荐
《自己动手写嵌入式操作系统》一书不仅介绍嵌入式操作系统的相关知识,而且通过“HelloChina”这一实例,细致地描述了嵌入式操作系统开发的整个过程,包括加载和初始化、Shell、线程实现、内存管理、互斥和同步机制...
在本文中,我们将深入探讨“自己动手写操作系统”的主题,这通常被看作是理解和学习操作系统原理的一种实践方法。这一项目由作者于渊发起,旨在帮助读者通过实际操作来理解操作系统的构建过程。 首先,我们要明白...
7. 安全与权限:讲解访问控制、权限管理、多用户环境下的安全策略。 其次,工具文档将提供编写和调试操作系统的实用工具和资源: 1. 编译器和交叉编译器:如GCC,用于将源代码编译为目标机器上的可执行代码。 2. ...
"自己动手写操作系统完整版"是一个教程,旨在帮助读者深入理解操作系统的原理,并通过实践来学习如何创建一个基本的操作系统。这个压缩包包含的"自己动手写操作系统完全版.pdf"文件,虽然字迹可能不清晰,但仍然可以...
《自己动手写操作系统》这本书的随书光盘包含了学习操作系统原理和实现的实践材料。通过亲手编写操作系统,读者可以深入理解操作系统的内部机制,这对于软件开发者、系统工程师或者计算机科学的学习者来说是非常有...
在这个自己动手写的用户管理程序中,我们可以看到作者已经包含了完整的说明和源代码,这将为我们理解和学习提供极大的便利。数据库的包含也意味着我们可以看到实际的数据存储结构和操作方式。 首先,用户登录系统是...
《自己动手写操作系统》是一本旨在帮助读者深入理解操作系统工作原理的书籍,通过实践编写操作系统,读者可以亲身体验操作系统设计与实现的全过程。书中附带的源代码是学习过程中宝贵的参考资料,提供了实际操作的...
《自己动手写操作系统(含源代码光盘)》是一本深度探索操作系统原理和技术的书籍,旨在帮助读者理解操作系统的内部工作机理,并通过实践编写操作系统来掌握相关知识。该书结合了理论与实践,使读者在理论学习的同时...
在“自己动手写操作系统(含源代码)”这个主题中,我们将深入探讨操作系统的核心概念、设计原理以及实现技术。 一、操作系统基础 操作系统(Operating System,简称OS)是计算机系统中的核心软件,它负责协调和管理...
8. 安全与性能优化:讨论权限管理、异常处理和性能调优策略。 总的来说,《自己动手写操作系统》是一本全方位的教程,不仅提供了丰富的理论知识,还注重实践操作,使读者能够逐步构建一个简单但功能齐全的操作系统...
在"ORANGES’自己动手写操作系统"这个项目中,我们可以深入理解操作系统的内部工作原理,通过实践来学习如何构建一个基本的操作系统。下面将详细讨论相关知识点。 首先,我们要知道操作系统的主要组件和功能。操作...
7. **Android权限管理**:访问本地图片可能需要申请读取存储权限。在Android 6.0及以上版本,需要在运行时动态请求权限。 8. **事件传递与拦截**:在处理手势操作时,需要正确处理事件的分发,可能需要重写`...
由于文件较大,作者将其分成了五个部分进行上传,分别是:自己动手写操作系统.part01.rar、自己动手写操作系统.part02.rar、自己动手写操作系统.part03.rar、自己动手写操作系统.part04.rar和自己动手写操作系统....
"自己动手写操作系统"是一个深受程序员和技术爱好者欢迎的主题,它涉及到计算机系统、硬件交互、内存管理、进程调度、文件系统等多个复杂领域。这个压缩包文件名为"自己动手写操作系统光盘",暗示其中可能包含了与...
自己动手写JVM,需要考虑到类的权限控制、异常处理以及安全管理策略的实现。 此外,书中可能还会涉及编译器优化、多线程同步、JNI(Java Native Interface)以及JVM调优等方面的知识。这些内容不仅帮助我们了解JVM...