gpt4 book ai didi

php - Yii authManager 业务规则写在哪里?

转载 作者:搜寻专家 更新时间:2023-10-31 21:39:03 26 4
gpt4 key购买 nike

我在我的项目中使用 Yii 的 authManager 来处理 RBAC。我对这个概念还很陌生。

我的问题是关于编写和存储业务规则。由于我使用的是 CDbAutManager,所有内容都存储在数据库中。这对于存储哪个用户具有哪个角色是有意义的,因为用户是动态增长的。然而,业务规则似乎也存储在那里。我不确定我是否理解。

我需要为“updateOwnPost”编写规则。这不应该写在某个地方的 PHP 文件中,以便可以轻松移植项目吗?如果我用相同的代码开始一个新网站,我想保留规则而不是用户...

此外,这些规则有多复杂?我真的不认为自己在数据库中编写了 20 行规则......

我的问题有两个方面:

首先,总的来说,为什么要这样实现,正常的做事方式是什么?

其次,我可以开始了,我可以让我的业务规则成为对真实 PHP 文件的函数调用吗?如果是,怎么办?

最佳答案

答案:

1), 是的,商业规则通过 CDbAuthManager 存储在数据库中。您始终可以创建自己的 AuthManager("is"CAuthManager)并执行任何您喜欢的操作。 Bizrules 通常是简单的 PHP 代码片段。你的情况也不异常(exception)。有关此类实现的示例,请参见:https://stackoverflow.com/a/13110311/570009

2) 我相信您可以调用“callable”PHP 代码,并且在任何情况下,PHP bizrule 代码都是通过 eval() IIRC 运行的。

关于php - Yii authManager 业务规则写在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13160235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com