动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
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教程 ]的信息

本月文章推荐
.Struts开发指南之MVC架构.
.Drives 集合.
.实例讲解:Java中的SOAP技术应用.
.在以CLDC?基?的架?上分析XML.
.Antlr入门详细教程.
.用JavaMail发送带附件的Email.
.全面研读EJB 2.0(3).
.什么是jvm?你很清楚地了解它吗?.
.旋转你的3D世界.
.JDO、EJB/CMP、Hibernate和Amber.
.让你学习控制住 Web 2.0的方向盘.
.Java的Package与Import机制之我的.
.Eclipse快捷键指南.
.我学swing的故事.
.JML起步--使用JML 改进你的Java程.
.EasyDBO配置文件easyjf-dbo.xml简.
.基于Java的界面布局DSL的设计与实.
.面向对象编程:Java的简单数据类.
.轻松搞定Java内存泄漏.
.布尔逻辑运算符.

B/S系统权限控制的一种简单方法

发表日期:2008-1-5 |


   看了网上一些关于权限控制的帖子,越看越迷糊,什么用AOP(ASPect Oriented Programming,面向方面编程),用容器,RBAC(基于角色的访问控制方法),SSO,Jive的Proxy模式等等等等,且又是role又是group,真是头都大了,先写个简单的实现方法,以后再研究高深的。

  此方法不依靠容器 框架,适用于小系统(主要jsp页面要少于100,因为是硬编码到JSP),适用于要精确控制页面field的情况较多的系统。

  (插句话:要分清权限控制与业务逻辑,业务逻辑就是情况由系统运行时的某些条件决定,如学生治理系统中,某一学生进入系统,只能看自己的记录,因为可看的记录是由学号来决定的,所以这是业务逻辑,而又如学生不能看老师的记录,这是有学生的身份来决定的,所以这是权限控制。)

  好了,进入正题!
  建表:


  user(user信息: userID userPassWord 等)
  role(role描述:roleID roleDesc)
  permission(permission描述:permissionID permissionDesc)
  user-role(user role对应关系表:userID roleID)
  role-permission(role permission对应关系表:roleID permissionID)
  user-permission(user permission对应关系表:userID permissionID)


  重要申明:

  1 此处role没有继续关系,只是permission的集合

  2 user-permission表只是为了方便,其数据是根据user-role role-permission两表得来,只有在user-role role-permission两表有更新的时候更新此表,并不能单独赋予user某个permission,只能赋予user一个或多个role。

  3 permission的分配,这是一个难点,很多比较复杂的权限控制系统也是因为这个才发展出来,此处把它尽量想简单,不考虑业务逻辑,以页面为视角,分两层,首先是需要控制的jsp页面,然后是需要控制的页面field(包括link,text,textbox,button等等),field这一层还有privilege之分(R和W,即可读和可写)

  基本思路:进入JSP页面时,检查用户信息,查到用户有此permission就包含此代码,假如没有此permission就不包含此代码,此功能由Tag来完成(不会写Tag?不要紧,抄!)。看代码吧!

    1 建表(如上)
    2 建两个class(bean) (UserProfile是用户基本信息   UserPermission是permission )


    UserProfile.Java:
package com.××.××.××;
import java.util.Collection;

public class UserProfile {
  private String userId;
  private String userType;
  private String companyNo;
  private String companyName;
  private String companyType;
  private Collection userPermissions;








  public String getUserId() {
    return userId;
  }
  public void setUserId(String userId) {
    this.userId = userId;
  }
  public String getUserType() {
    return userType;
  }
  public void setUserType(String userType) {
    this.userType = userType;
  }
  public String getCompanyNo() {
    return companyNo;
  }
  public void setCompanyNo(String companyNo) {
    this.companyNo = companyNo;

上一篇:ANT十五大最佳实践 人气:399
下一篇:Java连接数据库谈 人气:568
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号