【发布时间】:2010-02-25 20:50:26
【问题描述】:
嗨,Sitepoint 向导人,
假设我们有一个拥有多个用户和各种对象的管理应用程序。我想做的是控制对象本身的访问——也就是说,它对一种类型的用户以一种方式运行,而对其他用户则以另一种方式运行。比如……
导演 Mike 可以覆盖接待用户 Sally 的注册日期。人们会假设迈克可以设置过去或未来的任何日期。然后我们有 Payroll 用户 Steve,他也可以修改 Sally 的注册日期,但仅限于过去(例如)一年前的日期。为了让事情更有趣,我们还有人力资源经理 Mary,她也可以修改 Sally 的注册日期,但仅限于从 2007 年 6 月 23 日到现在一个月后的日期...
如何对访问限制进行编程,以便在前端,表单控件受到最小和最大日期的限制,而在后端,验证器检查输入的日期以确保它位于这些日期之间?我显然需要能够调整每种用户类型的最小和最大日期。其他对象可能有不同的参数 - 例如,折扣字段的最大金额或加班的星期几。
我以不同的方式问过这个问题,但每次我都被实施所困扰。我目前正在将其开发为基于 php/MySQL 的 Web 应用程序,但非常欢迎来自其他平台的想法和 cmets!这次我看的是第一原则,所以不管你的背景是什么,如果你有什么想法,请告诉我!您甚至将这种访问控制称为什么...?
【问题讨论】:
-
如果您的问题得到解决,请让 sur 标记为已回答。
标签: model-view-controller authorization access-control