简单操作权限就一个函数足够了,甚至5-6个表足够可以了,没必要搞那么复杂,也没必要瞎搞误人子弟啊
来源:互联网 发布:阴茎 流脓 痛 知乎 编辑:程序博客网 时间:2024/05/02 04:18
有句俗话叫“折腾来折腾去,又折腾回原点了”,这就对了,就应该是回到最原点才是硬道理。
1.用户表(有哪几个用户)
2.角色表(有哪几个角色)
3.用户角色关联表(那些用户属于那些角色)
4.权限表(有哪几个权限需要分配)
5.权限存储表(用户有哪些权限,角色有哪些权限,可以分开也可以和在一起)
就一个判断权限函数 例如
CheckPermission(String userID, String permissionCode)
IsAuthorization(String userID, String permissionCode)
基本上可以满足要求了。
通常的需求分析
1. 各个页面上的按就的操作,列的操作等。
CheckPermission(userID, “PageA.BtnAdd”) 有没有对添加按钮有操作权限?例如添加权限。
CheckPermission(userID, “PageA.BtnDelete”) 有没有对添加按钮有操作权限?例如添加权限。
CheckPermission(userID, “PageA.TableB.ColumnC”) 有没有列C的查看权限。
2. 对数据表,字段的访问权限控制等
CheckPermission(userID, “TableA”) 有没有访问这个表的权限。
CheckPermission(userID, “TableA.Access”)
CheckPermission(userID, “TableA.Delete”)
CheckPermission(userID, “TableA.ColumnB”) 对列的访问权限。
CheckPermission(userID, “TableA.ColumnB.Access”) 对列的访问权限。
CheckPermission(userID, “TableA.ColumnB.Delete”) 对列的访问权限。
。。。。。。 你想怎么来就怎么来吧,想怎么想象就怎么想象,好用简单是硬道理。
或者你封装一下这个函数
CheckColumnPermission(String userID, String table, String column)
{
return CheckPermission(userID, “table.column.Access”)
}
说白了,permissionCode 里你想写啥都可以,都可以判断,只是你合理的规划命名方式就可以了,
没必要搞太负责太折腾,真的一个简单的道理,可以做出非常复杂的东西来,不要把简单问题复杂化了,
吧复杂问题简单化才是硬道理,暂不讨论数据集权限问题,就是对数据的过滤权限,那以超出本贴的讨
论范围。
很早很早的时候,我看过 0,1什么代表的权限,那真的不太好用,除非权限很少。
也在很早的时候,看过 1代表啥权限,2代表啥权限,4代表啥权限,8又代表啥权限,
1+2+4+8 等来表示,有那些权限等,当时觉得很神奇,现在想想都是瞎扯蛋。
就因为我天天研究权限啊啥的,与时代落伍了,这玩意儿是有需要,但是没啥大用,
还是以业务为核心,还是以网络应用为核心,搞搞电子商务是硬道理,要赚网络的钱
才是硬道理,时代已经变了,有一个朋友说,醒醒吧,现在是电子商务时代了,说得对啊,我听进去了。
posted on 2009-06-15 13:07 不仅仅是通用权限设计 阅读(4213) 评论(82) 编辑 收藏
- 简单操作权限就一个函数足够了,甚至5-6个表足够可以了,没必要搞那么复杂,也没必要瞎搞误人子弟啊
- 简单操作权限就一个函数足够了,甚至5-6个表足够可以了,没必要搞那么复杂,也没必要瞎搞误人子弟啊
- 一个工具就够了?原型设计没那么简单!
- 鞍钢没必要再卖出了
- 忘了吧。没必要记着。
- 没必要再去猜想了
- 日子就那么没了
- 谁多懂的道理就没必要说了,说了没什么用
- 有些事情,一辈子坚持那么一次,就已经足够了 .
- 有时候没必要用回调
- 企业只要做好一个“一”就足够了
- 如何关闭一些搞危险和没必要的端口
- ★做股票不必搞得太复杂,从量价入手分析就足够了——我对股票量价的认识(转载)
- 使用Dialog,这个就足够了
- 没必要参加嵌入式开发培训班,看完你就知道了
- 伤过两次心的把儿再没必要隐瞒了
- 移动办公没那么简单,也没那么难
- oracle数据库操作时报告磁盘没足够空间 解决方法
- Windows Server 2003 域控提升至 Windows Server 2008
- 金额 输入校验 正则表达式
- Android 中压力测试工具Monkey的用法
- Java回调函数
- QMenu上icon的大小设置
- 简单操作权限就一个函数足够了,甚至5-6个表足够可以了,没必要搞那么复杂,也没必要瞎搞误人子弟啊
- APP开发小贴士---问题虽小,但是需要注重
- Java 解析XML 之 DOM4J 解析 XML 分析测试
- C#编程指令的好处和用法
- 设计模式-职责链模式
- Google Chrome下Flash Player Debug失效
- Sql Server 常用日期格式转换
- PHP5版本的讲解
- 移动互联网袭来 如何成为一个android开发者