裝了Trac後開始設置使用權限,不過使用者不少,一個一個指派實在太花時間了,如果能由資料庫直接用SQL敘述來下指令應該比較省事,為了一勞永逸以減少日後維護的負擔,還是研究一下如何連接Trac使用的SQLite資料庫吧。以下是我使用Aqua Data Studio(以下簡稱ADS)透過JDBC連接的步驟。
- 首先由http://www.zentus.com/sqlitejdbc/下載SQLite JDBC Driver,我下載的是Pure Java的版本
- 下載後把sqlitejdbc-v036-nested.jar複製到ADS安裝目錄的 lib 資料夾裡
- 【ADS功能表→Server→Register Server】,在RDBMS選項裡選擇Generic – JDBC,在右方Location欄位輸入如下資料:
- URL: jdbc:sqlite:/c:/trac/專案代碼/trac.db 在最後一個冒號後面指定trac.db的完整路徑,磁碟機代號前後都有正斜線( / )
- Driver: org.sqlite.JDBC
- Driver Location: C:Program FilesADSlibsqlitejdbc-v036-nested.jar
- 右方最上面的Name給定一個名稱後按OK
設
定好JDBC連線後按Ctrl+Q打開Query
Analyzer視窗,逐步展開Schemas,就能看到儲存在trac.db裡的資料表,由資料表名稱可以猜到使用權限是PERMISSION。我們可
以設置幾個不同的群組,再把使用者指派給特定的群組,再針對群組設定能使用的權限即可。
以下把user1、user2、user3分別指派給 g_admin、g_pg、g_qa三個群組:
| INSERT INTO permission(username, action) VALUES(‘user1′, ‘g_admin’); INSERT INTO permission(username, action) VALUES(‘user2′, ‘g_pg’); INSERT INTO permission(username, action) VALUES(‘user3′, ‘g_qa’); |
接著設置群組g_admin擁有所有權限:
| INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘BROWSER_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘CHANGESET_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘FILE_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘LOG_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘MILESTONE_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘REPORT_SQL_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘REPORT_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘ROADMAP_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘SEARCH_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘TICKET_CREATE’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘TICKET_MODIFY’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘TICKET_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘TIMELINE_VIEW’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘WIKI_CREATE’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘WIKI_MODIFY’); INSERT INTO permission(username, action) VALUES(‘g_admin’, ‘WIKI_VIEW’); |
其他群組就依此類推並減少部份權限即可。檢視資料表,對於由別的Issue/Bug tracking系統要匯入資料會有不少幫助的。
您可能也會有興趣的類似文章
- Trac的單機啟動與帳號設定 (0則留言, 2007/07/14)
- 用JumpBox輕鬆安裝Subversion+Trac雙系統 (0則留言, 2007/07/25)
- 在Windows上安裝Trac的完整步驟 (5則留言, 2007/07/13)
- 使用FireFox插件存取SQLite資料庫 (0則留言, 2008/01/23)
- 將Trac 0.10.4中文版公佈到Google Code (6則留言, 2007/09/08)
- Subversion與Trac合用時的檔案庫Layout考量 (2則留言, 2007/08/19)
- Trac的Issue Ticket狀態管理 (1則留言, 2007/09/08)
- 幫Trac加上TiddlyWiki的雙擊快速編輯功能 (0則留言, 2007/08/10)
- [Trac] 幫Trac裝上WYSIWYG編輯器 (3則留言, 2007/11/02)
- Aqua Data Studio 3.7.23 更新 (0則留言, 2005/01/31)
- 於Trac使用IncludeMacro以插入共用網頁 (0則留言, 2007/07/26)
- [Database] 請求Aqua Data Studio提供的新需求 (1則留言, 2005/03/18)
- 歡迎使用 Trac 0.10.4 (0則留言, 2007/07/25)
- [Trac] 把Trac的單欄樣式改成多欄的方法 (1則留言, 2007/10/31)
- [Database] 建立SQL Server的檔案群組 (1則留言, 2005/03/23)














