微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – MYSQL数据库设计是否序列化

我们有一个PHPmysql上运行的现有应用程序.我们正在添加细粒度的用户授权,以便某些用户只能访问某些资源.有几千个用户和大约100个资源(虽然预计两者都会增长).

我的数据库设计类似于:

用户
id,姓名,电子邮件

资源:
id,资源

选项1
因此,如果我们在考虑典型数据库规范化的情况下接近这一点,我们也会有下表.我想我们会遵循用户被拒绝权限的结构,除非user_resources表中有记录.如果随后为特定资源删除了他们的权限,那么我们只需从user_resources表中删除该行.

* USER_RESOURCES:*
user_id,resources_id

方案2
另一种方法是忘记user_resources表,只在users表中创建一个新列(称为权限或类似),并在users表中存储该用户权限的序列化值.每次我们需要检查用户的权限时,我们都必须反序列化该值.

哪种方法被认为是更好的做法,并且是否有任何主要的专业或者任何一种方法

解决方法:

选项1是要走的路,除非你有坚实的论据反对它.将列添加到users表适用于基于角色的权限.您可以混合使用这两个选项,如果您基于角色的权限但允许分配不同的权限 – 那么只在表中写入例外.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐