日期:2014-05-20  浏览次数:20649 次

本年度新问题:给你100分,一个权限分配设计问题,会的请赐教,不会的请学习!
我就舍得给分,100分求解,应该可以了吧,反正留着那么多分也不能兑成人民币,求教,谢谢!
          货物管理
|-------出货管理
|-------进货管理
|-------库存管理
|-------滞货管理
          运输管理
|-------发车管理
|-------配车管理
|-------购车管理

      出货管理:   A浏览     B增加     C修改     D删除  

以上的图形是一个树形菜单,现要进行权限设计,如一个用户只能有   货物管理且货物管理只有
出货管理和进货管理这二种子菜单的选项,而且要根据相关的权限给   出货管理和进货管理分配
A浏览,C修改的权限,如何要设计这个权限的数据库表呢?求解。最好有分组的设计   。

------解决方案--------------------
用户对应的是角色,可以是多个角色
角色可以对应权限,可以一对多。

user----role
role----privilege

你至少设置3个表,主要是根据你的逻辑定义好有多少种角色,每种角色对应哪些权限,然后再给用户设置对应的角色,您的问题应该就可以解决了。

你应该也可以给200分的贴:)
------解决方案--------------------
授权到按钮就可以了
在菜单显示时授权到页面,进去页面后在授权到按钮。
表结构:
user page pagebutton user-page user-pagebutton
最后还增加各usergroup
------解决方案--------------------
可以加入组的概念。
学习。
------解决方案--------------------
如果搂主对 Spring 比较熟悉的话,可以使用 acegi-security 来进行这方面的管理。

下载 acegi-security 以后,里面有几个简单的例子。


如果搂主有时间,下载 Appfuse 学习学习,里面有现成的 用户/角色/权限 的例子代码。
这个例子代码,就是使用 acegi-security 来进行权限管理的。

对于 acegi-security, 可以将权限的控制,设置在页面这个级别,以及Java类的方法上这个级别。

例如,只能浏览的角色,画面上是看不见 更新 按钮的。 即时你知道 更新 按钮的URL地址。 后台程序也不允许你调用 update 方法。


下面是一些 appfuse 中,关于 acegi-security 的配置 security.xml 的一些片断 (文件还是有点长的)。


这些是配置什么角色,能够访问什么页面。 ROLE_ANONYMOUS 可以看成是还没有登陆的用户。
/clickstreams.jsp*=admin
/flushCache.*=admin
/passwordHint.html*=ROLE_ANONYMOUS,admin,user
/reload.*=admin
/signup.html*=ROLE_ANONYMOUS,admin,user
/users.html*=admin

这些配置,是定义了,只有 admin 角色的用户,才能够执行 UserManager 这个类中的 getUsers 与 removeUser 方法。
com.test.service.UserManager.getUsers=admin
com.test.service.UserManager.removeUser=admin
------解决方案--------------------
坐下学习

------解决方案--------------------
站着学习。
------解决方案--------------------
学习了
------解决方案--------------------
货物管理
|-------出货管理
|-------进货管理
|-------库存管理
|-------滞货管理
运输管理
|-------发车管理
|-------配车管理
|-------购车管理

出货管理: A浏览 B增加 C修改 D删除

操作表——A浏览 B增加 C修改 D删除 ……
栏目表——出货管理 进货管理 ……
授权表——栏目表与操作表记录的组合 [出货管理-A浏览] [出货管理-B增加]
角色表——一个角色包含若干授权表记录,一个授权表记录包含于若干角色中,多对多关系
用户表——用户与角色多对多关系


------解决方案--------------------
躺着学习
------解决方案--------------------
趴着学习
------解决方案--------------------
学习中,有本hibernate的书上好象有介绍权限管理
------解决方案--------------------
边蹲边学
------解决方案--------------------
学习学习
------解决方案--------------------
学习一下~!
------解决方案--------------------
学习一下....
------解决方案--------------------