在OpenCart中,如果用户无权访问控制器,则会显示错误页面。当用户登录时,它确定用户具有哪个用户权限。
问题:我想知道在这种情况下它是如何重定向的?我知道控制器在哪里。
答案 0 :(得分:1)
执行/发送的任何路由都是使用Action
完成的。因此,默认情况下index.php
使用
// Router
if (isset($request->get['route'])) {
$action = new Action($request->get['route']);
} else {
$action = new Action('common/home');
}
确定是否需要在设置route
GET参数时加载路由,或者common/home
如果没有设置(即当域只是http://yoursite.com/
而不是{时} {1}})
同样,如果未授予权限,则该操作会在http://www.yoursite.com/index.php?route=common/home
路由无效时呈现。具体在此代码中error/permission
检查(OC V2.0.0.0b)
/admin/controller/error/permission.php
如果您想详细了解它的工作原理,可以查看if (!in_array($route, $ignore) && !$this->user->hasPermission('access', $route)) {
return new Action('error/permission');
}