Yii1 - 如何绕过访问规则

Yii1 - How to bypass an access rule

我正在用 Yii 做一个项目,我对这个框架几乎没有经验,php。

我正在尝试根据用户的角色向不同的用户授予对 Yii 中视图的访问权限。在我的代码中,在 Controller/accessRules 函数中,我向具有特定角色的用户授予权限,效果很好。

thing/problem 是:我还需要将相同的权限授予来自不同角色的特定用户,以及他们不需要权限的那些角色。但是那些特定的用户在数据库的 'users' table 中激活了一个字段(这是一个布尔字段,1/0 值)。如果该字段为“1”,则这些用户必须访问该视图,如果为“0”,则他们不能。

我试图检查我之前描述的字段的值,但问题是如果他们没有 accessRules 中描述的角色,他们就没有访问权限。 (或者也许我检查这个的方式做得不好)。

我需要做什么来解决这个问题?我需要一些提示。 谢谢!

好吧,我终于找到了解决办法。不是我所期待的但有效......我在数据库中创建了一个新的 role/profile 并将角色添加到我想要授予访问权限的用户,也在数据库中。然后在应用程序中,我在视图的 controller/action 中添加了新角色,仅此而已。这很简单,我知道。但我认为这不是最好的主意,因为如果用户数量开始增长,并且在这种情况下每个用户都需要一个特定的角色……也许工作量太大了。