当前位置:  开发笔记 > 编程语言 > 正文

Web应用程序中多个用户的访问控制

如何解决《Web应用程序中多个用户的访问控制》经验,为你挑选了1个好方法。

我正在开发一个PHP + MySQL社交网络应用程序,现在我需要为每个应用程序设置不同的访问控制(读取,创建,编辑,删除)全局(所有项目)和/或自我项目(自己创建的项目)模块到组或特定用户.

有没有人有这样的建议(表格结构等)?


好的,我在这里提供更多细节,目前我有一个tbl_module,tbl_user和tbl_user_role.每个用户和角色可以对特定模块具有不同的访问权限.

更新

创建

删除

并由全球访问或仅自己(自己的帐户或他们自己创建的记录)分开.

和我目前的方法:我创建另一个表来保存访问细节:

acl_uid

mod_id(fk模块uid)

target_id(fk用户uid或角色uid)

acl_type(用于标识目标id引用的用户/角色)

acl_read

acl_update

acl_create

acl_delete

acl_read,acl_update,acl_create,acl_delete值范围:

0否认

1允许

2指低优先级检查(如果用户有值2则参考角色)

3自我

我相信这是解决这个问题的更有效方法,或者可能是对我目前方法的改进.

谢谢你的回复.



1> Adam Davis..:

这是一个非常广泛的问题,所以你很可能只得到非常广泛的答案.

大多数CMS系统都有一个表,列出了可以在系统上生成的内容类型.

另一个表描述了每种类型的内容是如何显示的(在首页,各个博客页面等).

另一个表为每个用户提供一个或多个"用户类型"或"组",例如admin,unregistered,moderator等.

最后一个表是各种各样的访问表 - 它显示了每个组有权执行的操作,包括它可以创建,编辑,发布等的内容类型.

我建议您花一点时间研究其他CMS软件的数据库模式,例如Slashcode,Drupal或其他数百万个CMS系统之一.

-亚当

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有