求一个JAVA实现的权限管理 如题,要给出数据库建表SQL,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java实现的权限管理?什么实现的不一样么?思路一样! 虽然楼主问题需求不明,但大部分权限问题在实体部分都涉及三种实体,用户,角色和资源。角色和资源为一对多关系,既每种角色都包含了它有权限操纵的若干资源。 用户不直接和资源打交道,而和角色产生关系,这种关系根据需求不同可以一对多或多对多。如果是多对多则权限取多个角色的并集,并去掉重复部分。用户和角色的设计并不困难,麻烦的是资源应该具体是什么样的资源。 这个根据系统权限控制的精细程度来确定,如果只需要控制到表示层,那么资源就代表了各个模块的名称,子模块的名称,子模块下面的页面名称,甚至页面上的按钮或其他web组件名称。 如果再往下控制到业务层甚至数据访问层,那这些资源甚至可以是业务层的类名,方法名,数据访问层的业务实体的类名这些实体设计好之后,在前台我们需要完成两件大事,一个是授权,一个是认证。 授权可以解释成只有超级管理员身份才能进行的,为具体的角色分配资源的过程。 这涉及到页面的设计,如树状结构。 认证问题则相对复杂,它的作用是当某个具有一定角色的用户登录到系统并即将执行一些功能之时,权限管理如何根据他的角色来确定是否允许他执行该功能。 在web层我们可以采用所见即所用的方式,通过页面标签技术来控制页面组件是否显示,只显示用户有权利操作的组件。 也可以采用拦截机制,利用servlet filter或其他的一些如acegi之类的技术来拦截用户对web资源的访问。 在业务层和数据访问层,我们目前最理想的技术是采用AOP的环绕增强来控制线程对方法的调用,以及处理调用之后的结果集,ACEGI也即是利用这点实现。 你先建一张用户表 表中有一个权限的字段 int1 代表 管理员2 代表 普通用户在前台登陆的时候通过登陆名找出权限的字段 的值 if( 权限的字段==1){ 掉用 增、删、改、查的方法}else{你是普通用户没有权限!}不需要对数据库做权限 那样很累的! 刚笔试完的题目 StringBuffer&StringBuilder不可变? io问题。来人哦 unsupportedclassvertion Double类型输出的问题 关于抽象方法中不能synchronized 请问JFRAME里面哪个函数可以设置隐藏标题栏?急!!!! 返回什么结果? nwpulipeng(夜听春雨)请领【高分向高手求学习JAVA代码。】帖子的分 java线程交互问题wait(),notifyAll() 有关类加载的 问题 作业题又无答案
每种角色都包含了它有权限操纵的若干资源。 用户不直接和资源打交道,而和角色产生关系,这种关系根据需求不同可以
一对多或多对多。如果是多对多则权限取多个角色的并集,并去掉重复部分。
用户和角色的设计并不困难,麻烦的是资源应该具体是什么样的资源。 这个根据系统权限控制的精细程度来确定,如果只
需要控制到表示层,那么资源就代表了各个模块的名称,子模块的名称,子模块下面的页面名称,甚至页面上的按钮或其他
web组件名称。 如果再往下控制到业务层甚至数据访问层,那这些资源甚至可以是业务层的类名,方法名,数据访问层的业务
实体的类名
这些实体设计好之后,在前台我们需要完成两件大事,一个是授权,一个是认证。 授权可以解释成只有超级管理员身份才能
进行的,为具体的角色分配资源的过程。 这涉及到页面的设计,如树状结构。 认证问题则相对复杂,它的作用是当某个具有
一定角色的用户登录到系统并即将执行一些功能之时,权限管理如何根据他的角色来确定是否允许他执行该功能。 在web层我们
可以采用所见即所用的方式,通过页面标签技术来控制页面组件是否显示,只显示用户有权利操作的组件。 也可以采用拦截
机制,利用servlet filter或其他的一些如acegi之类的技术来拦截用户对web资源的访问。 在业务层和数据访问层,我们
目前最理想的技术是采用AOP的环绕增强来控制线程对方法的调用,以及处理调用之后的结果集,ACEGI也即是利用这点实现。
1 代表 管理员
2 代表 普通用户
在前台登陆的时候
通过登陆名找出权限的字段 的值
if( 权限的字段==1)
{
掉用 增、删、改、查的方法
}
else
{
你是普通用户没有权限!
}
不需要对数据库做权限 那样很累的!