论坛是这样划分的,用户划分基本确定,包括:普通会员、版主、总版主、坛主
但在角色和功能上有点困惑
首先功能包括:浏览、发布、修改、删除、屏弊文章、精华文章、置顶文章、总置顶文章、论坛置顶文章
如果单是这样的话,角色倒是容易划分,给每个用户按功能划分即可
例如普通会员的角色有:浏览、发布功能;版主有浏览、发布、修改功能……但问题是现在除了功能点外还有版块啊?例如浏览权限,用户在一些特殊的版块不可以浏览;再例如修改删除权限:
1.普通会员只可以修改、删除个人的文章;
2.版主除了可以修改删除个人文章外,还可以修改、删除其所在版块的文章;
3.总版主除了修改删除个人文章外,还可以修改、删除其下所有版块的文章;我初步是这样想的,在创建新版块时,使其与功能点合并做为功能关联到角色中,如新建一版块AA,这样再新建一组功能点:AA浏览、AA发布、AA修改、AA删除、AA屏弊文章、AA精华文章、AA置顶文章、AA总置顶文章、AA论坛置顶文章
想想又不太合适,版块是变动的,我不能每加一个版块就给用户重新添加一个角色还有,其实版块还有属性的,例如:普通版块、正规版块、认证版块
普通版块:所有会员、访客都可浏览
正规版块:只有登录后方可浏览
认证版块:只有版主以上级别可浏览
晕了,这样浏览又与不同属性的权块挂钩了,我该怎样设置这个角色?大家进来聊一聊了,各抒己见吧:)
但在角色和功能上有点困惑
首先功能包括:浏览、发布、修改、删除、屏弊文章、精华文章、置顶文章、总置顶文章、论坛置顶文章
如果单是这样的话,角色倒是容易划分,给每个用户按功能划分即可
例如普通会员的角色有:浏览、发布功能;版主有浏览、发布、修改功能……但问题是现在除了功能点外还有版块啊?例如浏览权限,用户在一些特殊的版块不可以浏览;再例如修改删除权限:
1.普通会员只可以修改、删除个人的文章;
2.版主除了可以修改删除个人文章外,还可以修改、删除其所在版块的文章;
3.总版主除了修改删除个人文章外,还可以修改、删除其下所有版块的文章;我初步是这样想的,在创建新版块时,使其与功能点合并做为功能关联到角色中,如新建一版块AA,这样再新建一组功能点:AA浏览、AA发布、AA修改、AA删除、AA屏弊文章、AA精华文章、AA置顶文章、AA总置顶文章、AA论坛置顶文章
想想又不太合适,版块是变动的,我不能每加一个版块就给用户重新添加一个角色还有,其实版块还有属性的,例如:普通版块、正规版块、认证版块
普通版块:所有会员、访客都可浏览
正规版块:只有登录后方可浏览
认证版块:只有版主以上级别可浏览
晕了,这样浏览又与不同属性的权块挂钩了,我该怎样设置这个角色?大家进来聊一聊了,各抒己见吧:)
解决方案 »
- spring 上传文件 类型转换异常
- 框架使用过多,会不会影响执行效率?
- JSP+SERVLET+JAVABEAN+STRUTS+HIBERNENAT+SPRING面试
- 请问怎样判断页面FORM已经提交,<form>里面没有 <INPUT TYPE='SUBMIT'>,
- jasperreport的问题!组合报表
- 如何在标签<html:select>从数据库生成<option>项,符合mvc(100)
- flex中的变量值问题,求解决
- 菜鸟问:jsp和javascript有什么区别啊?
- 我最近接到一个小项目,说来也很简单,就是给一家公司做一个网站,总共20来个页面,页面要求双语(中/英)。。。。
- 如何实现在线听音乐的功能
- 求救中...
- 求助:(jsp)web证件套打解决方案 。。
一开始全设置为false;
然后,比方登陆了就把正规版块设置为true,管理员再把其他的设置true,不过又很多都是在上一个为true的基础上的,还是用表的连接吧
我不太理解你的思路,我本来是想把正规版块的浏览权限做为一个功能点纳入角色中,然后访客不给他提供这个角色,只能登录用户给他提供这个角色
但问题是,如果这样,功能点就变成浏览普通版块、浏览正规版块、浏览认证版块;然后添加、修改、删除是不是也要依次按版块的属性来设置功能点?to:jk88811(你的就是我的,我的还是我的~!)
下过天忆社区,但看不懂,我的QQ:308616828to:veryfatman(很胖的胖子)
CSDN是怎样设计的?说来听听?
你提到的用户组的概念挺好,我得仔细琢磨一下,先谢了:)
1.普通会员只可以修改、删除个人的文章;
2.版主除了可以修改删除个人文章外,还可以修改、删除其所在版块的文章;
3.总版主除了修改删除个人文章外,还可以修改、删除其下所有版块的文章-----------------------------------------------------------------------这样细节的权限问题可以在页面内用if/else来处理~例如当前用户是普通用户,
你在列出该用户浏览的文章,遇到“删除”这一操作字段时,
先判断这篇文章是不是该用户的,如果是就给他列出“删除”选项,
如果不是他的,“删除”这一选项就不列出来,因此该用户也就不能删除别人的文章
~~~~~
其他角色都可以类似实现这些功能~这种设计思想虽然不够好,因为这样设计把一些逻辑放到了表现层,
这是MVC不提倡的,但实现起来还是没问题的~
你的方法实现起来的确没有问题,我以前都是这样做的;但现在做这个论坛主要是想在技术上和设计上提高一下:)谢谢参与 to:yjscdb()
你的方法也得琢磨一下:)
在web.xml你可以通过配置
<security-constraint>
<login-config>
<security-role>
来实现安全管理
在你的页面中,用
<logic:present>
<logic:notPresent>
标记来动态显示或隐藏你的组件(链接、按钮、菜单等等)
因为这两个标签中有个role属性可个跟你的角色关联起来~
这种方法的具体实现你可以参考Struts的相关资料~
噢?还真是第一次听说web.xml中可以配置登录和角色的管理,看来我得关注一下了:)
thank you
属于这个领域的范畴!
你可以到网上找下!
由于一个用户可能有很多不同的角色,如果要考虑所有的角色都被激活,这对判断该用户所拥有哪些权限的时候造成了很多的麻烦。例如用户User1在A区内是站长,在B区内是会员,在C区内是过客的情况,如果此时该用户需要对B区内的某个资源进行删除操作,在判断用户是否拥有该权限时,只需要激活用户在B区面的角色,而没有必要激活其他的角色。如果激活其他角色,只会使逻辑更加复杂,即使不考虑实现的复杂度,系统性能也会因此而下降。根据这个具体的业务需求,可以根据RBAC模型中的最小权限原则,只对用户分配必需的权限,即在同一时刻只激活必需的最少的角色。所谓最小权限原则是指:用户所拥有的权力不能超过他执行工作时所需的权限。实现最小权限原则,需分清用户的工作内容,确定执行该项工作的最小权限集,然后将用户限制在这些权限范围之内。在RBAC中,可以根据组织内的规章制度、职员的分工等设计拥有不同权限的角色,只有角色需要执行的操作才授权给角色。当一个主体准备访问某资源时,如果该操作不在主体当前被激活角色的授权操作之内,该访问将被拒绝。
如上所述,可以得出结论,用户在某个版面进行操作时,只激活该用户在该版面的所有角色即可。
如果你感觉程序用起来不是很方便的话,
还可以用另外的方式-用应用程序管理安全机制~
常用的方式有以下两种:
1,扩展RequestProcesser,重写他的processRoles()方法;
2,使用filter,自己配置roles;但无论哪种方法,在jsp页面中都要使用
<logic:present>
<logic:notPresent>
的role属性来动态显示或隐藏你的组件(链接、按钮、菜单等等)
例如用户User1在A区内是站长,在B区内是会员,在C区内是过客的情况,如果此时该用户需要对B区内的某个资源进行删除操作,在判断用户是否拥有该权限时,只需要激活用户在B区面的角色,而没有必要激活其他的角色。
============================
你的这段话感觉很有道理,但又有些看不懂,你所谓的激活是指什么?用户所拥有的权限一般都是管理员规定死的,按照你的说法,感觉用户的权限或所拥有的角色是动态的?
激活是什么意思?
昨天想了半天,用户组的概念和我原来想划分的角色好象差不多
原来我是想把普通会员、版主、总版主、坛主做为角色,付给他们相应的功能(权限);昨天想划出个用户组,想了半天也无非就是按普通会员、版主、总版主、坛主划分用户组,还请指点一下:)
用户组:游客,会员,版主,总版主,坛主
论坛功能:浏览,发贴,编辑,删除,管理.
版面:A,B,C数据库
User表里是各用户资料,里面有个GroupID代表的是所属用户组.
UserGroup放的是用户组记录,里面有个功能字段,可以用文本,采用,1,2,3,4,5,代表具有浏览,发贴,编辑,删除,管理功能.版面表Board放的是版面内容,版主信息,
版面功能组,里面有GroupID表示设置的用户组,BoardID表示要设置的版面.如果这里没记录就用UserGroup的设置,否则就用此处设置.这里同样有个功能字段.记录该用户组在此版面所具备功能.
所以要怎么设置权限都可以了.