实施“管理面板模块”不使用模块(MVC相关)

发布于 2024-09-13 16:08:13 字数 416 浏览 5 评论 0原文

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

<?
class AdminController extends Controller {

    public function addUser() {
        ...
    }

    public function removeUser() {
        ...
    }

}
?>

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

谢谢。

Let's suppose that we have poor MVC framework without modules support. Our aim is to implement admin panel with some functionality.
Url for all admin panel features will start with /admin (/admin/add_user, /admin/remove_user) etc.
As we don't have modules, so we have to create Admin controller (yes, this controller probably will be extra large).

<?
class AdminController extends Controller {

    public function addUser() {
        ...
    }

    public function removeUser() {
        ...
    }

}
?>

How can we protect this methods of being accessed by anyone? .htaccessing /admin folder is not a good idea, I think.

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

命硬 2024-09-20 16:08:13

将所有函数设为私有并实现一个公共函数__call,该函数检查用户是否已登录并具有适当的权限,然后抛出错误消息或重定向到正确的方法。

Make all functions private and implement a public function __call which checks whether the user is logged in and has appropriate rights and then either throws an error message or redirects to the correct method.

可是我不能没有你 2024-09-20 16:08:13

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

Well I don't know if your MVC model have it but if so you an use a pre-dispatch mechanism.
Or may be check it in the initialization.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文