网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.关于java学习的一点感言.
.我是这样解决全角半角问题的.
.Java语言中链表和双向链表的实现.
.Simply Singleton -- part1 By D.
.JDBC基础教程之ResultSet对象.
.用JavaBean实现文件上载(二)上载.
.Jboss下MSSQLServer配置指导.
.利用JAVACC将HQL->SQL.
.JAVA的类和接口.
.浮点型(Floating-Point Types).
.《精通SOA:基于服务总线的Strut.
.Java核心代码例程之:Properties.
.如何用开源软件构建 java 编程环.
.JAVA程序员必读:基础篇(2.d)语言.
.在J2EE Web 应用中使用.
.建立正则表达式.
.Java应用技巧-Applet与Applicat.
.多语言混显的问题.
.Java Api for XML 与 XML 标准的.
.JAVA程序员必读:基础篇(9).

如何在一个系统中设计权限控制机制(3)

发表日期:2008-1-5


在第一节中,我提出了一个最原始的需求,并定义了几个接口。

在第二节中,我对这个需求进行了一些细化,设计了一个数据结构和一些基本的操作,可以满足一些低层次的需求。在和 babituo 的讨论中,他给我提出了一些更为具体和现实的需求,我想有必要再进一步进行抽象和设计。Babituo提到“如何针对动态创建的一篇文章进行权限的控制”,及其他一些概念对我很有启发。

目标:简单的核心、简单的定制(程序或是配置)、对于常见的情况会有通用的模板。简单的修改可以应付复杂的需求。学习struts。

首先是三个基本的元素:操作者(主)、操作(谓)、资源(宾)。

操作者指的是发出动作的主体,不一定指具体的人,也可以指一组人,或是指系统中的一个模块,它应该是系统唯一的,具有唯一的ID值。

操作指对资源进行的动作,比如说打开、显示等,同样必须具有唯一的ID值。

资源指被操作的对象,可以指单个对象,比如某个菜单项;也可以指某组对象,比如某组菜单。当然这个某组菜单表现出来的也是单一的一个对象。

 

操作者权限的继续

操作者的父级的权限是能被下级所继续的,比如“小王”是“研发中心”的员工、那么除非明确说明某些权限是小王禁止使用的,研发中心所有的权限,小王都有。这里的继续不是类的继续,而只是业务方面的一个继续或是包含的关系。

新建资源的权限分配,例如:新建文章的操作权限问题

对于新建的文章一般创建者会具有对这篇文章的所有操作权限,所以我设计两个类:新闻类NewsType和新闻类文章类News。新闻类只有一个实例:newsType,它的子女“新闻A NewsA”是对象是“新闻News”的实例。这里子女NewsA并没有从父亲newsType中继续什么功能。“新闻类”具有一接口init(),表明每生成一个实例,就进行一些初始化操作,这里我们可以定义自动将实例的操作权限赋给创建者。当然,这需要定制程序。

新建的操作者的权限分配

这个和新建资源的权限分配类似,对于某操作者类会有一接口init(),描述新建一个实例时所要进行的操作。

操作的组合

例如对于一篇文章的查看、修改、删除操作统称为对一篇文章的治理操作,具有对一篇文章治理操作的权限同时也具有对这篇文章查看、修改、删除的权限。


上一篇:利用jConfig获取xml文件中的配置信息 人气:916
下一篇:【JSF心得】JAVA的对象传递是引用传递 人气:768
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐