我正在使用一个基于$ _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 =表示你是一个简单的用户。
所以在每个级别都有一些特权。现在我应该把这些信息放在哪里?
TY
答案 0 :(得分:0)
你必须在你的表中设置flag
,然后检查那些标志..根据你可以开发访问层
主要是你的表必须有这些字段
post_id(PK) | post_by(user_id of the post owner) |is_published(ENUM (Y,N))
现在在编辑该帖子时检查以下内容
首先记录的当前用户ID和post_by id是否相同
Y
或N
N
则不允许编辑Y
然后允许编辑答案 1 :(得分:-1)
您的伪代码对我来说非常简单 。在构造函数中做所有事情?或者如何翻译它?
IMO首先需要定义您的需求。哪些任务是允许的,哪些不是?如果你有大纲,你也有解决方案。