如果 我想 让 一个系统
分 三级 用户  超级管理员
管理员  和 普通  用户
超级管理员能对  管理员 ,普通用户 进行 添删改查
管理员 能对 普通用户 进行 添删改查
用户 只能  查询  
大概 就这样 
怎么完成这样 的  权限管理 

解决方案 »

  1.   

    在登陆页面中设置一个radio,三级就设置三个radio,radio的值设为权限值,页面跳转时根据radio值的不同跳转到不同的管理页面。应该是这样的思路吧
      

  2.   

    我想 的 是  登陆 进去的 同时  你的 权限 就被确定
    然后你去 点 一些  你权限的 地方   那个显示页面就出来
    权限不够  这种的 页面
    你们说的 
    我不是很理解 
    我上网 查的 一些也是   新建一张 权限的 表   然后 吧里面的 权限  给用户
    但这样 如何 实现  用 什么技术 ?
    网上的 技术  很多 我大多看了 都狠迷茫  
    我 SSH  其他的  一些 功能基本 都 知道  了 也会点   
    就差这个权限  管理了 
      

  3.   

    1、库的设计:建立五张表,权限表、用户表、角色表、角色权限表、用户角色表2、页面的设计:在页面菜单上的权限管理中包括用户管理(用户的增、删、改、查)与角色管理(角色的增、删、改、查).在系统开始使用时,肯定要用一个默认的系统用户在页面进行配置(也就是在库中存在一个用户,用户具有“超级管理员”角色,这个角色包含这个系统中的所有权限)。系统在初始化时权限表中包含你的所有的要控制用户显示的项的一个对应值。首先,先创建你想要的角色,在页面上可以用JS脚本生成一棵树,这棵树的每一个节点就是通过树节点的复选框可以为当前新增的角色选择你想设定的权限,这样你新建一个角色保存时,就会将这个角色的信息存入角色表中,同时将角色与所选的权限的关系放入角色权限表中。其次,在用户管理项中,新建一个用户,为这个用户选择一个之前建立的角色,这样就可以将其保存到用户表中,同时将用户与角色的关系放到用户角色表中。3、逻辑设计:当一个用户登陆时,校验用户的身份的时候,若是该用户存在,可以将这个用户所具有的权限查出来(通过用户与角色、角色与权限的对应关系来处理),放入session中(不要怕往session中入东西,不会太多),这样当用户登陆以后,点击每一个可以判断session中有没有这个点击所对应的权限,若是没有就提示“没有权限”,也可以通过直接对用户所具有的权限,在页面的层次上就将功能屏敝,也就是说用户没有的权限,在页面上根本就不显示。
      

  4.   

    做权限我是这样的思路:
    1.建立数据库表,里面有5个字段一个事角色的id号,也就是你说的用户  超级管理员 
    管理员  和 普通用户这些角色的一个标识。
    2.当用户登录的时候,能够获得登录用户的id号,相应的也可以获得它的权限值,比方说是超级管理员。
    然后根据不同的权限显示不同的功能,假如他是一般管理员,他没有修改用户资料的权限,就让那个按钮变灰,也就是不可用。
    3.应该注意这样一个问题,当某个用户没有登录的时候,他直接输入修改用户资料的网址,如http://localhost:8080/project/modify.jsp 不应该显示该页面的内容,也就是说此时应该显示一个页面,提示信息为你还没有登录,我做这个功能时是用filter过滤的。关于filter的用法,你可以网上搜一下很多。
    另外想说明的是,你也可以用spring的aop进行权限控制。如果楼主还有什么不明白的话可以给我发邮件,邮箱:[email protected]
      

  5.   

    没有实例就是想的,这么说吧,你的目的就是想划分出级别来,而这个级别是在你登陆的时候就体现出来的,那么你登陆的时候肯定是要通过查询来获得你当前用户的权限,这个权限的制定是在什么时候呢?那肯定是有人给予他的。
    最高级的超级管理员,没人给他怎么办,只好在系统初始化的时候就在用户表中建立这么一个用户,所以用户表是肯定要有的(其实你之前的登陆也是要用到这张表的),但是怎么来知道这个用户有那些权限呢??
    那就一定要有一个关联,这样由于权限是多项的而用户表中对一个用户存放多个权限是十分不好的(各尽其职),于是就产生了角色表,让一个用户与一个角色对应就产生了用户角色表,而让一个角色再与很多权限对应就产生了角色权限表,而对于所有的权限当然也要划分成一个权限表,这样对表的设计就完成了,有了表的结构。
    而对于之前的用户有那些权限,那么这些权限一定是要在界面上由超级管理员来设定的,也就是由他来创建具有不同权限的角色,在新建立用户,为用户分配相应的角色,从而使不同的人有不同的权限,而之所以要放在session中,是因为你的每一次点击都要判断是否有权限,与其每一次都去查库还不如第一次放入session中,然后用到的时候再取就可以了。你只能仔细想一下了,没有实例,没办法展示,我就是想出来的
      

  6.   

    以这种形式设计,你可以想要有多少种角色就有多少种,你可以控制一个用户可以访问这两个菜单项,而不能访问另外的URL,等等·~
      

  7.   

    我给几个table你吧,跟imasmallbird的设计是一样的
    -- Create table
    --用户表,存放用户信息
    create table SYS_USR
    (
      USR_ID           VARCHAR(20) not null,
      USR_NAME         VARCHAR(20),
      USR_PWD          VARCHAR(30),
      USR_PWD_QUESTION VARCHAR(100),
      USR_PWD_ANSWER   VARCHAR(100),
      USR_REMARK       VARCHAR(255),
      USR_DISABLE_DATE DATEtime,
      USR_EMAIL        VARCHAR(50) not null,
      USR_CREATE_BY    VARCHAR(20),
      USR_CREATE_DATE  DATEtime,
      USR_UPDATE_BY    VARCHAR(20),
      USR_UPDATE_DATE  DATEtime
    )
    -- Create table
    --群组表,存放群组信息
    create table SYS_GROUP
    (
      GROUP_ID           VARCHAR(20) not null,
      GROUP_NAME         VARCHAR(50) not null,
      GROUP_REMARK       VARCHAR(255),
      GROUP_CREATE_BY    VARCHAR(20),
      GROUP_CREATE_datetime  datetime,
      GROUP_UPdatetime_BY    VARCHAR(20),
      GROUP_UPdatetime_datetime  datetime,
      GROUP_DISABLE_datetime datetime
    )
    -- Create table
    --用户群组表,存放哪些用户属于哪个群组
    create table SYS_USR_GROUP
    (
      USR_ID               VARCHAR(20) not null,
      GROUP_ID             VARCHAR(20) not null,
      USR_GROUP_REMARK     VARCHAR(255),
      USR_GROUP_CREATE_BY  VARCHAR(20),
      USR_GROUPCREATE_datetime datetime,
      USR_GROUPUPdatetime_BY   VARCHAR(20),
      USR_GROUPUPdatetime_datetime datetime
    )
      

  8.   

    -- Create table
    -- 功能表,这里可以放页面
    create table SYS_FUNCTION
    (
      FUNC_ID           VARCHAR(20) not null,
      FUNC_NAME         VARCHAR(20),
      FUNC_FATHER_ID    VARCHAR(20),
      FUNC_DESC         VARCHAR(100),
      FUNC_REMARK       VARCHAR(255),
      FUNC_DISABLE_datetime datetime,
      FUNC_CREATE_BY    VARCHAR(20),
      FUNC_CREATE_datetime  datetime,
      FUNC_UPdatetime_BY    VARCHAR(20),
      FUNC_UPdatetime_datetime  datetime
    )
    -- Create table
    -- 群组功能表,存放群组可以访问的页面
    create table SYS_GROUP_FUNC
    (
      GROUP_ID               VARCHAR(20) not null,
      FUNC_ID                VARCHAR(20) not null,
      GROUP_FUNC_REMARK      VARCHAR(255),
      GROUP_FUNC_CREATE_BY   VARCHAR(20),
      GROUP_FUNC_CREATE_datetime datetime,
      GROUP_FUNC_UPdatetime_BY   VARCHAR(20),
      GROUP_FUNC_UPdatetime_datetime datetime
    )最后通过sql 语句串起来,可以得到一个用户属于哪个群组,这个群组又有访问哪些页面的权限,这样这个用户访问页面的权限就确定了.
      

  9.   

    用ssh怎么实现权限啊,三张表之间都是多对多吗?