我工作的一个项目, 这个项目必须有许多用户,每个用户都可以对很多的例子支持票创造,他可以看到他们和编辑它们,但他不允许访问任何其他的票,这不属于他 因此,例如:的web2py request.args中(0)权限
def edit_ticket():
record = db.e_ticket(request.args(0),active=True) or redirect(URL('error'))
form=crud.update(db.e_ticket,record,next='view_ticket/[id]')
return dict(form=form)
以这种方式与(request.args(0)
),用户可以编辑系统中的每票只是为了标识更改为任何其他ID,并将工作 edit_ticket/[id]
所以我改变了request.args(0)
auth.user_id
,这是一个很好的解决方案,因为我以为!但是当我们已经很多用户因此只有第1和2ED用户可以编辑本thier门票接下来用户无法做到这一点,当他们这样做收到错误“edit_Ticket/[ID]”
Error the document doesn't exist
我应该怎么如何防止用户绕过他们的特权
问候
它不应该: 'db.e_ticket(request.args中(0),USER_ID == auth.user_id,活性== TRUE)' 但 'db.e_ticket(request.args中(0),USER_ID = auth.user_id,积极= TRUE)' - 因为在这里他们是函数的参数,而不是查询条件!谢谢 – ElTero
哎呀,你是对的(和web2py的在线图书是错误的 - 那会被纠正)。我已经编辑了相应的上述内容。 – Anthony