Joomla! 3.X.X 一些基本的權限管理

這是今天在公司做的微分享,
晚一點我會把一些文字敘述補在下面。

只是一些簡單的基本介紹而已,我還沒有研究到很深啦。



補充第15頁的部分,
如何客制Admin的Menu?


關於這個部分,建議大家參考這邊文章,Customizing the Admin Menu
雖然文章是 2. 多的版本,不過在 3. 多也是通用,
需要注意的是,default_enable.php 的路徑在 3. 多版本已經換了,
以我的joomla是3.1.5版本來說路徑是在:
/YOUR_SITE_DIR/administrator/modules/mod_menu/tmpl/default_enabled.php

我的範例主要是在實作,有些 menu 只給特定的群組看。

另外如何知道使用者群組的id是多少?
使用者群組(user group)的記錄是寫在 前綴字_usergroups 這張資料表。

我撈sql的是這樣撈的:

mysql> use 你的site的資料庫名稱;
mysql> show tables;
mysql> select * from 你的table前綴字_usergroups;


撈出來的結果如下:

mysql> select * from tbrxm_usergroups;
+----+-----------+-----+-----+------------------------------+
| id | parent_id | lft | rgt | title                        |
+----+-----------+-----+-----+------------------------------+
|  1 |         0 |   1 |  24 | Public                       |
|  2 |         1 |   8 |  19 | Registered                   |
|  3 |         2 |   9 |  16 | Author                       |
|  4 |         3 |  10 |  13 | Editor                       |
|  5 |         4 |  11 |  12 | Publisher                    |
|  6 |         1 |   4 |   7 | Manager                      |
|  7 |         6 |   5 |   6 | Administrator                |
|  8 |         1 |  20 |  21 | Super Users                  |
| 10 |         3 |  14 |  15 | Shop Suppliers (Example)     |
| 12 |         2 |  17 |  18 | Customer Group (Example)     |
| 13 |         1 |   2 |   3 | Guest                        |
| 14 |         1 |  22 |  23 | 你只能編輯joomlatesting      |
+----+-----------+-----+-----+------------------------------+

因此假設當我要判斷該 user 是不是 administrator 時,就要先取得group,而且得知該group的id :

$groups = $user->get('groups');
$isAdministrator = in_array(7, $groups);

7這個數字就是對應到資料表上的id為7。



留言

這個網誌中的熱門文章

[Android] 筆記 手機上測試自己的 APP

解決fatal: Not a git repository (or any of the parent directories): .git錯誤

[Android 筆記] 設定 ImageView 的圖檔來源