【问题标题】:Implementing "admin panel module" without using modules (MVC related)在不使用模块的情况下实现“管理面板模块”(MVC 相关)
【发布时间】:2013-05-19 05:30:52
【问题描述】:

假设我们的 MVC 框架很差,没有模块支持。我们的目标是实现具有某些功能的管理面板。 所有管理面板功能的 URL 将以 /admin (/admin/add_user, /admin/remove_user) 等开头。 由于我们没有模块,所以我们必须创建管理控制器(是的,这个控制器可能会特别大)。

<?
class AdminController extends Controller {

    public function addUser() {
        ...
    }

    public function removeUser() {
        ...
    }

}
?>

我们如何保护这种被任何人访问的方法? .htaccessing /admin 文件夹不是一个好主意,我认为。

谢谢。

【问题讨论】:

    标签: php access-control


    【解决方案1】:

    创建所有函数 private 并实现 public function __call 以检查用户是否已登录并具有适当的权限,然后抛出错误消息或重定向到正确的方法。

    【讨论】:

    • 嗯,很不错的方法!谢谢你。如何在 __call 中获取被调用的方法名称?
    • 方法名作为第一个参数传递。
    【解决方案2】:

    好吧,我不知道您的 MVC 模型是否有它,但如果有,您可以使用预调度机制。 或者可以在初始化时检查它。

    【讨论】:

      猜你喜欢
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 2017-01-29
      • 1970-01-01
      • 2011-02-08
      相关资源
      最近更新 更多