我使用Yii的權限擴展和得到這個錯誤:超級用戶在Yii的權限擴展中意味着什麼?
There must be at least one superuser!
我不知道這是什麼意思superuser
因爲我使用與用戶管理和演示默認的認證。在閱讀權限擴展的文檔後,我試圖配置權限:
'rights'=>array(
'superuserName'=>'admin',
'install'=>true
),
但它不起作用,我搜索了互聯網但沒有結果。
我使用Yii的權限擴展和得到這個錯誤:超級用戶在Yii的權限擴展中意味着什麼?
There must be at least one superuser!
我不知道這是什麼意思superuser
因爲我使用與用戶管理和演示默認的認證。在閱讀權限擴展的文檔後,我試圖配置權限:
'rights'=>array(
'superuserName'=>'admin',
'install'=>true
),
但它不起作用,我搜索了互聯網但沒有結果。
需要用戶表與表AuthAssignment,其名稱的陣列設置
'modules'=>array(
'rights'=>array(
'superuserName'=>'admin',
),
),
然後,你必須改變引用id字段上表的表AuthAssignment用戶ID字段中已申報連接用戶
我認爲你必須使用mysql數據庫和表用戶不默認身份驗證 - 這只是一個身份驗證的例子。在導入用戶表 後,您應該添加一個用戶名爲「admin」的用戶 - 如果您在超級用戶名config-在用戶表中具有「admin」。
有一個小黑客,行,你必須註釋掉它的工作...
檢查官方擴展頁面評論
編輯:我沒有要發佈一個鏈接到我自己的博客因爲它看起來像自我推銷,但它是一個非常全面的解決方案,您的問題,我認爲:installing yii-rights extension
FWIW(因爲它已經這麼長),你必須給予用戶的一個超級用戶角色。
角色名稱在配置文件中的superuserName
屬性中表示,如您的文章所示。 這可以通過SQL直接完成,通過更新authAssignment
表(它的名字可能與你的情況不同,它是可配置的)。
INSERT INTO `authassignment` (`itemname`, `userid`, `bizrule`, `data`) VALUES ('admin', '1', NULL, 'N;');
然後,以適當的用戶(對應於id#1,在這種情況下)登錄。
命名有點誤導,我也偶然發現了這個問題。
superuserName
應命名爲superuserRole
,這意味着其分配給角色的所有用戶指定的有超級用戶。
請注意,Yii::app()->user->checkAccess('whatever')
將始終return true
爲超級用戶。
也RAuthorizer.php參見:
/**
* @property string the name of the superuser role.
*/
public $superuserName;
我設法通過以下對警予的論壇帖子進行安裝 - 這裏是一個固定鏈接到我的帖子: http://www.yiiframework.com/forum/index.php/topic/10556-extension-rights/page__view__findpost__p__229721
如果您已經安裝了用戶和權限就像here, 就在你的數據庫運行此:
INSERT INTO `AuthAssignment` (`itemname`, `userid`, `bizrule`, `data`) VALUES ('Admin', '1', NULL, 'N');
INSERT INTO `AuthItem` (`name`, `type`, `description`, `bizrule`, `data`) VALUES ('Admin', 0, 'Admin', NULL, 'N;');
注:在教程權利模塊的所有表名是小寫。
爲我工作。謝謝。 – Pupil 2015-05-05 06:26:55