gpt4 book ai didi

c# - 在数据库中存储用户访问级别

转载 作者:太空狗 更新时间:2023-10-29 21:15:41 26 4
gpt4 key购买 nike

我在表中存储“用户”列表。应用程序的业务逻辑将引用一个对象,该对象包含当前登录用户的该表中的所有数据。如果用户具有正确的访问权限,则能够允许他们执行操作。

我想知道存储“访问级别”的最佳方式是什么?

我考虑将访问级别存储为整数,并使用 C#“标志”组合多个访问级别而不需要一堆字段,这明智吗?

Create  = 1
Read = 2
Update = 4
Delete = 8
FullAcc = 16

我想到的另一个选择,感觉不太优雅,但我已经看到它做了很多:

Read/Write  = 1
R/W + Delete= 2
Full Access = 3

我想知道的原因是,向第二种方法添加额外的项目似乎更简单,但在某些时候,维护起来会很痛苦。你有什么想法?

最佳答案

我一直更喜欢使用标志的第一种方法。危险在于您获得了太多级别的权限,并且您必须继续扩展枚举并开始使用大量数字,因此可能必须将数据库中的数据类型更改为大整数。但是,对于诸如权限之类的选项,选项的数量应该是相当有限的。我要提出的一个建议是将 FullAcc 定义为创建、读取、更新和删除的总和,而不是作为一个单独的实体。这样您就不必在用户尝试更新某些内容时检查他们是否具有更新或 FullAcc 权限。

关于c# - 在数据库中存储用户访问级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2008165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com