Module 模块内的RBAC
我有一个现有的Yii2基本系统,它运行在Oracle数据库上,并通过Yii2Admin内置了RBAC。它工作得很好 我现在需要另外使用另一个数据库(MS-SQL Server 2008) 因此,我设置了一个新模块,它使用第二个Yii::$app->db2链接,一切正常 我的问题是,对于我的第二个MS-SQL Server 2008 DB的用户,是否可以在链接到MS-SQL Server 2008 DB而不是现有Oracle DB的模块中使用登录+RBAC 还是我必须使用Oracle 试试下面的配置。 首先将MS-SQL Server 2008连接设置为db1名称 例如:Module 模块内的RBAC,module,yii2,rbac,Module,Yii2,Rbac,我有一个现有的Yii2基本系统,它运行在Oracle数据库上,并通过Yii2Admin内置了RBAC。它工作得很好 我现在需要另外使用另一个数据库(MS-SQL Server 2008) 因此,我设置了一个新模块,它使用第二个Yii::$app->db2链接,一切正常 我的问题是,对于我的第二个MS-SQL Server 2008 DB的用户,是否可以在链接到MS-SQL Server 2008 DB而不是现有Oracle DB的模块中使用登录+RBAC 还是我必须使用Oracle 试试下面的配
'db1' => [
'class' => '\yii\db\Connection',
'dsn' => 'Your MS-SQL Server 2008 DNS',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
并在ActiveRecord模型中为db1值重写函数getDB()。这将从MS-SQL Server 2008查询数据
文件:
注意:您必须通过扩展类或其他工作方式自定义Yii2Admin。是的,我认为您可以覆盖并为MSSQL服务器创建单独的管理器 在中,您可以看到属性 在配置文件中:
return [
// ...
'components' => [
'authManager2' => [ // <!-- Auth Manager 2
'class' => 'yii\rbac\DbManager',
'db' => 'db2' // <-- Here is the magic change db instance
],
// ...
],
返回[
// ...
“组件”=>[
'authManager2'=>[//我已经有两个数据库连接工作正常。注意:您必须通过扩展类或用于工作的其他方式自定义Yii2Admin。
并不是我问题的答案。您是否自定义Yii2Admin模块?您为所有模型的模块设置了net custome函数getDb