一些权限管理方面的文章
2009-06-16 15:38
309 查看
/article/4672447.html
六种不同需求的权限设计数据库关系图(从易到难)
金色海洋的自然框架系列
/article/4599855.html
吉日嘎啦的
1.用户表(有哪几个用户)
2.角色表(有哪几个角色)
3.用户角色关联表(那些用户属于那些角色)
4.权限表(有哪几个权限需要分配)
5.权限存储表(用户有哪些权限,角色有哪些权限,可以分开也可以和在一起)
就一个判断权限函数 例如
bool CheckPermission(String userID, String permissionCode)
bool 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 里你想写啥都可以,都可以判断,只是你合理的规划命名方式就可以了,
没必要搞太负责太折腾,真的一个简单的道理,可以做出非常复杂的东西来,不要把简单问题复杂化了,
吧复杂问题简单化才是硬道理,暂不讨论数据集权限问题,就是对数据的过滤权限,那以超出本贴的讨
论范围。
六种不同需求的权限设计数据库关系图(从易到难)
金色海洋的自然框架系列
/article/4599855.html
吉日嘎啦的
简单操作权限就一个函数足够了,甚至5-6个表足够可以了,没必要搞那么复杂,也没必要瞎搞误人子弟啊
有句俗话叫“折腾来折腾去,又折腾回原点了”,这就对了,就应该是回到最原点才是硬道理。1.用户表(有哪几个用户)
2.角色表(有哪几个角色)
3.用户角色关联表(那些用户属于那些角色)
4.权限表(有哪几个权限需要分配)
5.权限存储表(用户有哪些权限,角色有哪些权限,可以分开也可以和在一起)
就一个判断权限函数 例如
bool CheckPermission(String userID, String permissionCode)
bool 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 里你想写啥都可以,都可以判断,只是你合理的规划命名方式就可以了,
没必要搞太负责太折腾,真的一个简单的道理,可以做出非常复杂的东西来,不要把简单问题复杂化了,
吧复杂问题简单化才是硬道理,暂不讨论数据集权限问题,就是对数据的过滤权限,那以超出本贴的讨
论范围。
相关文章推荐
- 有关项目开发过程中,管理工具的使用等方面的一些文章。
- 权限管理部分的一些设计与想法
- 在Android中使用adb命令时关于权限方面的一些总结
- 协同管理软件方面的一些文章
- mysql安装和配置,以及权限管理的一些常用方法
- 一些常用的场景进行描述分析(权限管理、6个典型场景)
- 收集了一些C#方面的文章
- Yii rabc角色权限管理文章推荐
- 【转】在Android中使用adb命令时关于权限方面的一些总结
- 非常不错的一些关于管理方面的小故事
- 非常不错的一些关于管理方面的小故事
- Oracle9i的管理方面的一些新特性
- Windows操作系统网络参数方面的一些文章
- 准备近期写一些TAPI/TSP开发的有关的文章,希望弥补国内在这方面的空白
- 这是第一篇文章吧,发一篇关于Spring Security 3 权限管理数据库设计的疑惑
- 给老大的一封信——谈谈IT项目的管理,以及引申到对管理公司方面的一些借鉴
- 一些常用的场景进行描述分析(权限管理、6个典型场景)
- ASP.NET方面的一些经典文章收集
- 关于Android权限的一些文章
- 这段时间学了不少的知识,从今天开始来写一些android方面的文章。