(使用 PHP + mySQL)
我希望有人能给我一个处理这种情况的最佳方法的想法。
我有两个表,users
和 forms
。 users 表包含用户名、密码、名称等,然后 forms 表包含各种不同的 html 表单。
我想在每个用户的基础上指定用户可以访问哪些表单。我正在考虑在用户表中创建一个新字段,该字段将是“forms_allowed”,然后存储允许用户访问的每个表单的 form_id,以逗号分隔。像 3,6,8,15 这样的东西
然后,当我想检查允许用户访问哪些表单以及他们是否可以访问所请求的表单(等)时,我会捕获该字段,展开它并检查 form_id。
这似乎是一种麻烦且无效的方法。有人有更好的主意吗?
谢谢!
最佳答案
创建另一个表来保存 user_id
和 form_id
对。这是多对多的关系。
tbl用户:
user_id | name |...
表格
form_id | content | ...
关系:
user_id | form_id
因此您可以简单地通过单个查询获取信息:
SELECT * FROM `tblUsers` AS `t`
JOIN `tblRelation` as `r` ON (t.user_id = r.user_id)
JOIN `tblForms` as `f` ON (f.form_id = r.form_id)
关于php - 为用户设置权限的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12859129/