php – 在数据库中具有授权规则的原因是什么?
发布时间:2020-12-13 13:14:50 所属栏目:PHP教程 来源:网络整理
导读:在我的Yii应用程序中,我希望我的授权层次结构和业务规则是用代码编写的,我希望将用户,角色和权限存储在数据库中.这将我的业务逻辑(应该是代码)从应该使用的信息(应该是数据)中分离出来.看来Yii不支持这个. 在Yii中,您可以选择将业务逻辑放入文件(CPhpAuthMan
在我的Yii应用程序中,我希望我的授权层次结构和业务规则是用代码编写的,我希望将用户,角色和权限存储在数据库中.这将我的业务逻辑(应该是代码)从应该使用的信息(应该是数据)中分离出来.看来Yii不支持这个.
在Yii中,您可以选择将业务逻辑放入文件(CPhpAuthManager)或数据库(CdbAuthManager)中.无论如何,您将业务逻辑视为数据; Yii实际上将检索您的业务逻辑作为字符串,然后通过eval运行它,这似乎是一个可怕的方式来做到这一点. 这是什么原因? 如何达到我想要的结果?
您可以将所需的逻辑尽可能多地放入您的业务逻辑的
PHP代码中. Yii支持许多添加逻辑的方法,例如. LoginForm.php,UserIdentity.php,SiteController.php,…您不限于此.
Yii还支持的是向您的RBAC添加一个逻辑片段.一个常见的用例是,默认情况下,您将两个规则“Authenticated”和“Guest”分配给您的网站的所有用户,但使用bizRules. return !Yii::app()->user->isGuest; ‘Guest’有 return Yii::app()->user->isGuest; 结果是,您的登录用户不再是“客人”,而是“已验证”. return $model->id === Yii::app()->user->id; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |