关于jive权限管理的问题?????

grant999
06-11-19 4 207


userID=-1,代表ANONYMOUS
userID=0,代表REGISTERED_USERS
userID=其它,代表USER
它们之间有什么区别啊
forumID=-1,
forumID=其它
这两种有什么不一样啊

banq
2006-11-21 09:23

我坚决反对这种用数字替代业务逻辑的方式,不要去学,Jive中有旧思想残留。

dimarco
2007-01-10 12:40

我觉得这并不是业务逻辑,只不过是一种标示而已,从宏观上看用不同类实现,也是起到不同标志的作用,只不过更符合oo思想了,关键还是要看业务方法怎么设计处理了

flyinghuang
2007-01-19 10:24

banq,我现在的权限管理也是类似于这种方式,比如说1000是A模块的权限,1100代表是管理员,等,1200是B模块的权限,以此类推。
请您说一下,在设计一个权限管理的时候,比较好的是采用哪种方式呢?怎么去使用业务逻辑来实现一个较复杂的权限管理?谢谢

banq
2007-01-22 15:35

>1000是A模块的权限,1100代表是管理员,等,1200是B模块的权限
这个很显然是以数学方式来处理业务,这个方式可行,但是拓展性和可读性很差,我们不使用汇编语言就是为了可读性和维护性,如果我们使用高级语言加数学符号,或者使用脚本字符串如存储过程,大量SQL等,来表达业务时,这和全部回到汇编有什么进步呢?只不过百步和五十步的区别而已。

所以,以OO概念来处理权限是为了维护性和拓展性,我们不是探讨能不能实现功能的问题,而是探讨更好地实现功能的问题。

基于角色的权限体系已经得到广发应用,引入Role角色对象,可以解耦用户和权限之间直接联系。

从我的实践来看,凡是你可以用数字来表示的,都可以用对象来替代,比如状态数字,我们经常使用123数字来表示状态,这是数据库记录状态的方式,在我们OO语言中就不能这么低级思考了,当然,最后为了持久状态,你是要转为123给数据库,但是不代表我们应用程序设计中就要以123数字来思考。