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

c# – 在数据库中存储用户访问级别,第1张

概述我在表中存储了“用户”列表.应用程序的业务逻辑将引用一个对象,该对象包含此表中当前登录用户的所有数据.并且如果用户具有正确的访问权限,则能够允许用户执行 *** 作. 我想知道存储“访问级别”的最佳方法是什么? 我想要存储访问级别的一种方式是整数,并且使用C#“flags”来组合多个访问级别而不需要一堆字段,这是明智的吗? Create = 1Read = 2Update = 4Delet 我在表中存储了“用户”列表.应用程序的业务逻辑将引用一个对象,该对象包含此表中当前登录用户的所有数据.并且如果用户具有正确的访问权限,则能够允许用户执行 *** 作.

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

我想要存储访问级别的一种方式是整数,并且使用C#“flags”来组合多个访问级别而不需要一堆字段,这是明智的吗?

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

我正在考虑的另一个选择,感觉不那么优雅,但我已经看到它做了很多:

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

我想知道的原因是,在第二种方法中添加其他项似乎更简单,但在某些时候,维护它会变得很麻烦.你的想法是什么?

解决方法 我总是喜欢使用标志的第一种方法.危险在于您获得了太多级别的权限,并且您必须继续扩展枚举并开始使用大量数据,因此可能必须将数据库中的数据类型更改为大型int.但是,对于类似权限的内容,选项的数量应该相当有限.我要做的一个建议是将FullAcc定义为Create,Read,Update和Delete的总和,而不是作为单独的实体.这样,您在尝试更新某些内容时无需检查用户是否具有Update或FullAcc权限. 总结

以上是内存溢出为你收集整理的c# – 在数据库中存储用户访问级别全部内容,希望文章能够帮你解决c# – 在数据库中存储用户访问级别所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1249840.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存