1

我想为用户和管理员创建不同的页面。看起来:

$app->user->checkAccess('uri_my-whatever-access-rights') 

不适用于管理员,它总是验证为真。我不希望管理员拥有与普通用户相同的选项。

这适用于 index.php (Slim) 以及 Twig 模板(管理员可以查看所有用户菜单,即使它们仅适用于用户)。

漏洞?难道我做错了什么?

谢谢

4

1 回答 1

1

我在我的项目中注意到了同样的行为。root 用户始终可以看到所有内容,如果您不想以 root 身份查看所有内容,一个可能的解决方法是简单地排除“user_master_id”。

就像是:

if($app->config('user_id_master') == $app->user->id)

应该做的工作。

编辑:我检查了 User.checkAccess(..) 方法。另请参阅API

具有 MasterUserId 的用户将看到所有内容(评估始终为真)任何其他管理员都看不到它不应该看到的东西 - 就像在规则中定义的那样。

如果您想从某些页面/条目中排除根,只需isRoot()在模型中附加一个合适的例程,在此处user注册它,您可以在 twig 和路由例程中使用它。

问候

于 2016-08-01T12:16:26.580 回答