首页 新闻 会员 周边

【C# & .Net】对于权限设计这一块,基于C/S架构的,各位大佬都是如何设计的?

0
悬赏园豆:10 [待解决问题]

权限设计,一般都会划分到哪个模块,只是按照界面分配权限?还是细分到界面上的控件操作的权限?

HGSJ的主页 HGSJ | 初学一级 | 园豆:184
提问于:2020-06-05 18:13
< >
分享
所有回答(4)
0

权限这块,简单了1天搞定,搞复杂了几个月也搞不定。看你需求吧,一般简单点了就是:角色表,权限表。这个和C/S没啥关系

会长 | 园豆:12401 (专家六级) | 2020-06-05 19:30

具体的权限表,大概都是怎么设计的呢?

支持(0) 反对(0) HGSJ | 园豆:184 (初学一级) | 2020-06-06 14:33

@HGSJ:

  1. 如同会长所说的,这事儿可以从一天的工作量到三年的工作量。
  2. 如果要具体讨论,有几个可能更加合适的方法,第一是应用环境,第二是预计投入,第三是发出来你的设计UML,这么凭空一个问题,不是特别适合问答这种方式。
  3. 我朋友问我买啥电脑,我知道他穷富,小白还是大白,用途,你问我的话,不提供信息,我是没法知道该推荐神船还是顶配的MAC BOOK PRO的。
支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2020-06-08 08:50

@HGSJ: 最简单的大概这样吧:
角色表:

角色Id 角色名称
1 管理员
2 小弟
3 大弟

权限表

资源Id 资源名称 资源类型
1 功能1 功能
2 功能2 功能
3 文件1 文件

角色-权限表

角色Id 资源Id
1 1
1 2
2 1

用户表:

用户Id 用户姓名 角色
1 张三 1
2 李四 1

另外,你如果熟悉asp.net core的话,看看它默认的权限系统,是另一种实现方式:Claims-based,可以参考下。

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2020-06-08 09:19

@会长: 好的,谢谢

支持(0) 反对(0) HGSJ | 园豆:184 (初学一级) | 2020-07-04 11:50
0

按需分配,不要想的多复杂,看实际需求兄弟

猝不及防 | 园豆:2781 (老鸟四级) | 2020-06-05 21:04

那也是,主要是新手,想自己写一个系统框架,所以想看一下其他人大概是怎么设计的

支持(0) 反对(0) HGSJ | 园豆:184 (初学一级) | 2020-06-06 14:40
0

看需求需要做到什么程度,粗略点直接控制到页面级,细致点控制到每一个点击操作,大致思路就是用户对应某个角色,某一个角色享有哪些操作权限

风行天下12 | 园豆:3867 (老鸟四级) | 2020-06-06 14:28

只是单纯通过角色去控制权限,我感觉如果需要某一个用户有特殊一点的权限,这样感觉会比较麻烦,要多增加一个角色去控制,如果用户多,权限也是各不相同,这是不是可以考虑增加个别用户的权限数据?也就是说,如果用户在权限表中不存在相应的权限数据,就直接使用该角色应该具有的权限;如果用户在权限表中存在权限值,那么直接加载对应数据的权限

支持(0) 反对(0) HGSJ | 园豆:184 (初学一级) | 2020-06-06 14:43

@HGSJ: 单独对用户指定权限,增加一张用户权限表就行,用户的所有权限无非就是所属角色的权限加上用户单独的指定权限就行

支持(0) 反对(0) 风行天下12 | 园豆:3867 (老鸟四级) | 2020-06-06 14:46

@风行天下12: 我把用户单独的权限也放到权限表了,看来需要改进,增加一个权限表进行操作,也是自己第一次设计这些东西,考虑的还是有所不足

支持(0) 反对(0) HGSJ | 园豆:184 (初学一级) | 2020-06-06 14:49
0

产品说了算,最适合自己(团队)的就行。

花飘水流兮 | 园豆:13560 (专家六级) | 2020-06-08 21:08

的确呢

支持(0) 反对(0) HGSJ | 园豆:184 (初学一级) | 2020-07-04 11:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册