chuan315 () 你的一句话把这个权限说得就比较复杂了...也就是由系统管理员将自己所拥有的权限分配给指定的用户...那么我想问:分配给的指定用户,这个用户还会分配给下一级的用户吗.(例如超级用户可以给权限到部门经理..那么部门经理是否可以给权限到部门主管??那主管呢?)
如果上面的成立..那么如果你的系统比较大每个部门下面可能有几百个员工..那么要不要创建权限组呢?.如果创建权限组..那么部门内的某个员工调动了...升职了,,你如果实现呢?/你老大说的这个是动态的权限分配..如果实现因人而异.起码设计上要多下点功夫.否则后现全乱了...你还让写出代码来..怎么写啊..连你的需要也没搞明白//我晕...

解决方案 »

  1.   

    嗯,说实话我也觉得也有点笼统,需要考虑的问题太多,这是我面试的一家公司给的题目,要我十天做完,我一个应届毕业生确实觉得有点难度,我开始想得思路就是设置一个管理员账号,当用这个管理员账号登陆后显示的是权限分配页面,然后给指定的用户分配如更新,删除,查询等这样的权限,然后这些用户登陆后就只显示更新,删除,查询等的页面,每个人的页面都不同,可是我这样想想后,觉得这样页面太冗余,而且根本谈不上代码重复,更不需要用java,直接asp就可以了,所以才来这里想大家给个思路.
    一家04年成立的公司,真不知道他们来学校招骋干麻,开始出一堆智力题,然后抽签选择题,然后就让我写这个发到他们邮箱,然后还要笔试,面试...
    大四了,如果都是这样的公司,那找工作真不容易呀...
      

  2.   

    我个人觉得可以参考XP系统的用户权限管理:
    1.权限分组,不同组有不同权限,可以按权限大小分下等级
    例如:
    管理员组(最高权限),
    Backup Operators(备份操作员为了备份或还原文件可以替代安全限制)
    Guests(户组的成员有同等访问权,但来宾帐户的限制更多)
    等等,2.给每个用户设定属于那个组,那么在数据库中直接添加一个“用户组”列保存这个信息那么管理每个用户的权限,也就变成了管理每个用户所在的组,象你说的“部门内的某个员工调动了”那就改变他所在组即可其实页面也不冗余,也就是用多几个IF语句罢了象struts不是有个logic标签嘛,用那个咯
      

  3.   

    哪个公司这样要求你啊.我晕死了.最起码你要问清楚吧.在问清楚之后你可以写一个大的框架啊.
    上面liang8305(菜鸟!舍我其谁?)也提到,你可以仿效XP系统的用户权限管理.也给你提议使用组.我想说一下自己的想法,如果有问题.请跟贴.
    上面liang8305(菜鸟!舍我其谁?)提到引入权限组.其实这个权限组(用户组)的创建是根据用户的操作需求来的(也就是用户对操作对象的可否性).例如如果我的前台最新消息需要专门一个人来跟踪,而且我的信息要保持实时性并可以在全球随时随地查看.那么我就需要有N个人分布在世界各地随时随地上传最新消息..这是针对这一操作我们可以创建用户组..其实抽像出来的就是角色..而用户不能直接对操作,否则后面的变动会给你带来沉重的代价.所以引入角色,角色可以自己定义的创建..所以我们的权限区分是直接针对的角色的间接针对用户的..例如小王是某厂长.我们就给他厂长的角色.以后小王离职了,换来个小李,我们也不需要改动,因为我们针对了厂长的角色分配了厂长的权限。并不在意这个厂长是谁当。如果按这样理解那么用户组(权限组)的创建是可行的。但是这种权限组的创建能不能满足你chuan315 () 我们来看看。。
    你要求。。由系统管理员将自己所拥有的权限分配给指定的用户...那么要搞清楚分配给指定的用户的角色也就是权限或者是权限组(用户组)是怎么样创建的..例如一个文件管理系统,总监的文件太多需要秘书来帮他处理.那么总监就会给一个权限给秘书让秘书拥有一定的权限后帮他处理文件..也就是给一定的角色给秘书..那么这个角色必须要根据文件来创建,因为总监不可能把他情人的mail也让秘书帮他处理..如果是这样动态权限分配的话..你这个用户组(权限组)的创建要细化到每个小的对象..试想一但总监升职成副总了...你可能通过改变用户组(权限组)这种方法来改变他的角色吗???????????因为总监在没有升职之前就有很多文件对应着他..而他对应的文件分成不同的组来对应不同角色...那么总监升职后他的角色或者对应的用户组下面的文件怎么办???所以你先要去问清楚具体的需要..权限本来就比较复杂..就这样一句话让你做个example?还有.给点分吧..早上一来就回贴..精神可佳.
      

  4.   

    我可以给你参考的,基于树形的,只要拖动就可以实现权限的赋值和移除,基于Spring,Hibernate,Struts