0

我正在使用一个基于 $_POST['action'].. 执行正确查询的类。示例:

class data {     //>pseudocode
 __constructor(){
   if ($_POST['action']=='insert')
      mysql_query("INSERT ..");
   else if ($_POST['action']=='edit') 
      mysql_query("UPDATE ..");
 }
}

现在当然我想阻止用户做他不能做的事情..例如编辑别人的帖子,或者更复杂的事情,比如他只能在帖子尚未发布的情况下编辑他的帖子。一旦帖子发布,他就不能再编辑(或者可能是基于时间的东西)

您将如何在我的中添加此检查class data?我曾经听说过 Zend_ACL 是否适用于这种情况?

编辑:我会避免使用数据库来存储权限

Edit2:我想这样做:每个用户都有一个“级别”,级别 = 1 表示您是管理员,级别 = 2 表示您是编辑,级别 3 = 表示您是简单用户。

因此,在每个级别都对应一些特权。现在我应该把这些信息放在哪里?

4

2 回答 2

0

你必须flag在你的表中设置,然后检查那个标志..根据那个你可以开发访问层

主要是你的表必须有这些字段

post_id(PK) | post_by(user_id of the post owner) |is_published(ENUM (Y,N))

现在在编辑该帖子时检查以下内容

  • 首先,当前记录的是用户 id 和 post_by id 是否相同

    • 如果是,则检查 is_published 是否设置为YN
      • 如果N则不允许编辑
      • 如果Y然后允许编辑
于 2011-03-28T10:08:06.013 回答
-1

你的伪代码对我来说简单了。在构造函数中做所有事情?或者怎么翻译?

IMO 首先你需要定义你的需求。哪些任务是允许的,哪些是不允许的?当你有大纲时,你也有解决方案。

于 2011-03-28T10:09:51.053 回答