- 浏览: 1341320 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
oa权限管理分为:
人员管理
角色管理
模块管理
其实有这样一些概念:
主体:用户和角色可以称为主体。
资源:就是可以进行crud的对象。
权限:就是对资源的crud操作。
授权:就是对这种权限的分配。
认证:就是查询用户是否有权限。
用户和角色的关系是多对多,这共同组成了主体。
模块是资源。
主体和资源的纽带是ACL(访问控制列表),主体和ACL之间是多对多关系,资源和ACL之间也是多对多关系。ACL里面就记录了用户的权限。
在数据库上它就是一个中间表的作用。
授权是这样的:
授权分为两种:
角色授权
对角色统一授权,继承这种角色的用户就自动拥有该角色所拥有的权限,并且权限分有优先级,这样两种权限如果之间发生冲突则取高优级。
用户授权
对用户进行单独授权,这种情况必须在不继承角色的情况下才能生效,并且此时只使用单独授权的权限。
每一次授权都是针对特定模块,而不是所有。
搜索用户所有授权过程是这样的:
1、查询用户所有角色的权限,按优先给从低到高,有重复的可以以高优先级覆盖。(存入Map中,key是资源标识)
2、查询用户直接授予的权限。查询不继承的权限。
3、合并权限。
4、再从中选择具体的权限(crud)。
认证过程是这样的:
根据用户标识和资源标识查找ACL实例
有实例:
查看是否有确定授权
确定:返回授权
不确定(继承):查询用户拥有角色列表,根据角色标识和资源标识查找ACL实例(循环)
没有实例:
查询用户拥有角色列表,根据角色标识和资源标识查找ACL实例(循环)
(1)CRUD授权说明:
尚学堂OA系统中ACL 中用 int 表示权限是什么意思
一个 int 有32 位,用后4位表示CRUD 操作,位的取值1或0表示授权或不授权
从你上面的意思看
0001为十进制的1:拥有C权限;
0010为十进制的2:拥有R权限;
0100为十进制的4:拥有U权限;
1000为十进制的8:拥有D权限;
也就是用最后四位来表示CRUD的权限,1表示允许,0表示不允许。
那么,
CRUD的权限就是1111,也就是十进制的15;
减少一个D操作也就是减少8,为7
如果再加上一个D操作,那么就加上8,又为15了.
人员管理
角色管理
模块管理
其实有这样一些概念:
主体:用户和角色可以称为主体。
资源:就是可以进行crud的对象。
权限:就是对资源的crud操作。
授权:就是对这种权限的分配。
认证:就是查询用户是否有权限。
用户和角色的关系是多对多,这共同组成了主体。
模块是资源。
主体和资源的纽带是ACL(访问控制列表),主体和ACL之间是多对多关系,资源和ACL之间也是多对多关系。ACL里面就记录了用户的权限。
在数据库上它就是一个中间表的作用。
授权是这样的:
授权分为两种:
角色授权
对角色统一授权,继承这种角色的用户就自动拥有该角色所拥有的权限,并且权限分有优先级,这样两种权限如果之间发生冲突则取高优级。
用户授权
对用户进行单独授权,这种情况必须在不继承角色的情况下才能生效,并且此时只使用单独授权的权限。
每一次授权都是针对特定模块,而不是所有。
搜索用户所有授权过程是这样的:
1、查询用户所有角色的权限,按优先给从低到高,有重复的可以以高优先级覆盖。(存入Map中,key是资源标识)
2、查询用户直接授予的权限。查询不继承的权限。
3、合并权限。
4、再从中选择具体的权限(crud)。
认证过程是这样的:
根据用户标识和资源标识查找ACL实例
有实例:
查看是否有确定授权
确定:返回授权
不确定(继承):查询用户拥有角色列表,根据角色标识和资源标识查找ACL实例(循环)
没有实例:
查询用户拥有角色列表,根据角色标识和资源标识查找ACL实例(循环)
(1)CRUD授权说明:
尚学堂OA系统中ACL 中用 int 表示权限是什么意思
一个 int 有32 位,用后4位表示CRUD 操作,位的取值1或0表示授权或不授权
/** * acl实例跟主体和资源关联 * 针对此实例进行授权:某种操作是否允许 * @param permission 只可以取值0,1,2,3 * @param yes true表示允许,false表示不允许 */ public void setPermission(int permission,boolean yes){ int tmp = 1; //tmp的二进制形式向左移动permission个单位 //这样经过移动的结果会有四种情况: C:0001 R:0010 U:0100 D:1000 tmp = tmp << permission; if(yes){ //如果是授权,则把原有的权限与当前的权限相加,二进制用"|" aclState |= tmp; }else{ //如果是减去授权,则当前传进来的权限取反,再与原有的权限"&" aclState &= ~tmp; } } /** * 获得ACL授权(获得C/R/U/D的权限是否允许或是否确定) * @param permission C/R/U/D权限 * @return 授权标识:允许/不允许/不确定 */ public int getPermission(int permission){ //如果继承,则返回未定的授权信息 if(aclTriState == 0xFFFFFFFF){ return ACL_NEUTRAL; } int tmp = 1; tmp = tmp << permission; //只要C/R/U/D中不全部为没有权限(0000),那么与刚刚传入的权限相"&"是不会出现等于0的. tmp &= aclState; if(tmp != 0){ return ACL_YES; } return ACL_NO; }
从你上面的意思看
0001为十进制的1:拥有C权限;
0010为十进制的2:拥有R权限;
0100为十进制的4:拥有U权限;
1000为十进制的8:拥有D权限;
也就是用最后四位来表示CRUD的权限,1表示允许,0表示不允许。
那么,
CRUD的权限就是1111,也就是十进制的15;
减少一个D操作也就是减少8,为7
如果再加上一个D操作,那么就加上8,又为15了.
发表评论
-
Chrome 详细设置
2012-06-10 12:18 1623在 SwitchySharp 选项中,选择导入导出分页卡,导入 ... -
Firefox 同步 密钥
2012-04-08 19:18 1204您的 Firefox 同步 密钥 3-8czuq-484ae ... -
JXL简单操作
2009-08-14 10:02 2959package com.wangyu; impo ... -
读取Excel表格,拷贝、更新Excel工作薄
2009-08-13 20:16 2033public class VireObj { St ... -
去掉鼠标右键中的Nvidia控制面板
2009-07-22 15:41 1808在开始-运行中输入:(去掉方法) regsvr32 /u n ... -
X:\windows\system32\winload.exe出现错误
2009-07-20 21:16 11065我是联想天逸f31的机子,刚才一键恢复结果进不了VISTA,其 ... -
Microsoft Office Home and Student 2007产品密匙破解[ 2009-06-23 14:27:02 | 作者: 何加林 ]
2009-07-20 18:17 24599我的本本买时自带的Microsoft Office Home ... -
三星P528 GPRS配置
2009-06-19 20:58 1358短信--设定--多媒体信息--多媒体信息设定--服务器设定-- ... -
Foxmail设置msn.hotmail
2009-05-31 07:08 2107hotmail,msn一般用户只能设置为http收信,需要被其 ... -
三星手机参数
2009-05-10 20:24 1286待机状态下输入*#9998*4678255#,然后进入其它文件 ... -
在Windows中查看端口占用情况的简单方法
2009-05-07 08:55 1181用这个命令,在DOS窗口执行:netstat -ano 看看占 ... -
Google眼睛代码
2009-04-10 13:26 3631google眼睛很好看,于是想弄下来填充一下自己的博客。 ... -
通过Spring JdbcTemplate调用Sybase带结果集的存储过程
2009-03-13 13:47 2482存储过程 IF OBJECT_ID('dbo.sp_xx' ... -
假如我是JAVA开发人员
2009-03-11 09:40 1169假如我是JAVA开发人员, ... -
Maven 2.0:编译、测试、部署、运行
2009-02-25 13:13 2432Maven是新一代的生力军,它的境遇正好和几年前的Ant十分类 ... -
svn 中文提示
2009-01-05 13:50 7612# # Simplified Chinese transla ... -
ubuntu美化教程和各色主题下载链接
2008-12-31 10:39 9305A美化教程(以ubu ... -
如何考察新市场
2008-10-20 16:46 2005由于各种各样的原因, ... -
给SOHO的22个经典提示
2008-10-17 16:58 1092提示一:性格本不同, ... -
整合Flex和Java—配置篇
2008-09-01 12:58 9096废话就不说了,要想了解Flex的相关内容就请问一下Googl ...
相关推荐
系统功能包括: 个人办公:1.我的办公桌,2.我的便签,3.我的任务,4.通信录, 公文管理:1.公文维护,2.归档处理, 公共信息:1.信息管理, 行政办公:1.会议管理,2.资产管理,3.用品管理,4.车辆管理,5.图书管理...
系统权限管理 我的办公桌:内部短信、内部邮件、公告通知、投票、工作日志 公共事物:公告通知管理、投票管理、会议管理、车辆管理、办公用品管理 人力资源:人事档案 附加操作流程和文档说明 Linq
这是浪曦会员做的,将尚学堂的oa改成了用strtus2来实现
精品OA(包括完整的源程序、 文档及数据库)
ssh2的OA管理项目完全代码,仿尚学堂的ssh,采用新技术,通过详细的代码展现OA系统
尚学堂Spring学习笔记.马士兵的,看了很受用,摘录了一些
尚学堂Java笔记.pdf
drp尚学堂培训日志,详细的过程。一天天的添加。大家看看啊!
OA项目说明文档等包涵说明文档里面包涵页面模板,日志记录,需求说明等一系列资源。
文档部分内容如下, 全部是尚学堂课堂原笔记.. 第一课:客户端 1. Sql Plus(客户端),命令行直接输入:sqlplus,然后按提示输入用户名,密码。 2. 从开始程序运行:sqlplus,是图形版的sqlplus. 3. ...
尚学堂的OA项目 完全S2SH整合!!!
喜欢老马的人都知道,尚学堂的javascript,很强大
我网上找的尚学堂书籍推荐,希望对自学的朋友有帮助
尚学堂hibernate学习笔记(原版整理),配合视频教程使用
尚学堂_Hibernate3.3.2_项目源码,尚学堂_Hibernate3.3.2_项目源码
这个是尚学堂马士兵老师讲解Oracle时用到的一些,希望对大家有帮助...
尚学堂马士兵hibernate视频笔记,很详细的,各种配置都有的......
尚学堂学习uml的笔记,希望给初学者指导迷津
1.【尚学堂】全新2022版WEB前端HTML5.zip
本人初学java时根据尚学堂的视频一步一步所写,最后又自己稍加修改得来的程序代码。注意:本程序不是一个完整的坦克游戏,适用于初学java者