修改Viewvc程式碼使只讀許可權的使用者只能檢視log
弄了近3天(這個週末是totally進去咯),總算把viewvc修改成只讀許可權(這裡說的只讀許可權是指svnauthz中配置為只讀許可權)的使用者只能檢視log了 O(∩_∩)O哈哈~
太累了,先發貼佔個位子,等幾天把程式碼及修改的詳細地方貼出來~~
O(∩_∩)O哈哈~
主要是在viewvc.py中增加兩個viewvc現成的函式_process_access_section(self, cp, section)
_userspec_matches_user(self, userspec):
然後在class Request:
def __init__(self, server, cfg):
函式中,在獲得了USERNAME後面,加上下面的語句:
(說起這幾句話簡單,就是把diff,annotate,markup 三種view從cfg中去掉,不曉得我看了好久的程式碼才找到是該在這個位置裡新增!沁透了我的汗水啊~~~~兄弟們,給我頂~~~(^ω^)):
#Brant
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
filename='D:/Viewvc.Request.log',
filemode='w')
logging.debug('A debug message1')
cp1 = ConfigParser()
cp1.read(self.cfg.conf_path) # Read viewvc.conf
svnauthzfile = cp1.get("authz-svnauthz", "authzfile") # get svnauthzfile frmo viewvc.conf
cp = ConfigParser()
cp.read(svnauthzfile) # Read svnauthzfile
root_sections = []
no_diff_annonate_markup_view = 0
logging.debug('below:cp.sections')
logging.debug(cp.sections())
for section in cp.sections():
logging.debug('A debug message5')
# Skip the "groups" section -- we handled that already.
if section == 'groups':
continue
if section == 'aliases':
continue
no_diff_annonate_markup_view = _process_access_section(self, cp, section)
logging.debug('after1 cp.sections[%s] haha:%d', section, no_diff_annonate_markup_view)
logging.debug('ooo view_result:%d', no_diff_annonate_markup_view)
logging.debug(self.cfg.options.allowed_views)
if no_diff_annonate_markup_view == 1:
if 'diff' in self.cfg.options.allowed_views:
self.cfg.options.allowed_views.remove('diff');
if 'markup' in self.cfg.options.allowed_views:
self.cfg.options.allowed_views.remove('markup');
if 'annotate' in self.cfg.options.allowed_views:
self.cfg.options.allowed_views.remove('annotate');
if 'diff' in cfg.options.allowed_views:
cfg.options.allowed_views.remove('diff');
if 'markup' in cfg.options.allowed_views:
cfg.options.allowed_views.remove('markup');
if 'annotate' in cfg.options.allowed_views:
cfg.options.allowed_views.remove('annotate');
其他的工作就是修改下viewcv的模板。等幾天再寫吧,O(∩_∩)O哈哈~
PS幾句:
偶從來沒想過會用python這個後起新秀,更別說學習它了!更別說修改一個用它寫的開源工具了!
可是這週末沒想到鬼使神差地硬把Viewvc按照我的需求給改了!
我都覺得我瘋了~~
不過看到自己成果後,還是爽翻了O(∩_∩)O哈哈~
©著作權歸作者所有:來自51CTO部落格作者xkdcc的原創作品,如需轉載,請註明出處,否則將追究法律責任
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1834/viewspace-2820392/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決samba只讀,但無修改許可權的配置Samba
- 如何檢視postgresql使用者許可權SQL
- linux的常用操作——檢視和修改檔案許可權Linux
- MongoDB建立只讀使用者並授權指定集合的查詢許可權MongoDB
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- kubernetes實戰篇之建立一個只讀許可權的使用者
- LightDB/PostgreSQL標準業務建立語句【賦予讀寫許可權和只讀許可權】SQL
- 協同平臺檢視許可權開啟業務物件提示"當前使用者沒有許可權!請檢查使用者[BOS設計器]的[編輯]許可權與應用的編輯許可權!"物件
- 2020.9.28(Hive檢視、索引、許可權管理)Hive索引
- Oracle資料庫scott使用者建立view檢視許可權Oracle資料庫View
- mongodb使用者許可權管理最全攻略:使用者的建立、檢視、刪除與修改,mongodb入坑之旅MongoDB
- 如何更改某個檔案的只讀許可權為可編輯許可權 張翠娉2022-07-20
- postgresql關於訪問檢視需要的許可權SQL
- vim儲存只讀檔案時獲得sudo許可權
- UserService 修改使用者查詢許可權 changeGlobalQuery分析
- 【Git】程式碼許可權&分支管理Git
- 【自然框架】許可權的視訊演示(二):許可權到欄位、許可權到記錄框架
- 修改組策略以安裝MSI程式進行許可權升級或許可權維持
- linux使用者許可權Linux
- 如何檢查某個使用者是否具有某個許可權物件上定義的某種許可權物件
- odoo提示你沒有檢視此類文件的許可權Odoo
- 織夢網站修改需要許可權嗎,如何獲取織夢網站修改許可權網站
- 使用者和組的許可權
- 關於公司程式碼許可權的問題
- MongoDB 4.0檢視,更新和回收角色許可權步驟MongoDB
- 檢視、儲存過程以及許可權控制練習儲存過程
- MySQL建立使用者,配置許可權、密碼策略MySql密碼
- 修改檔案、資料夾許可權
- android AVC錯誤修改許可權方法Android
- Linux使用者與許可權Linux
- mysql使用者許可權管理MySql
- NAS使用者許可權的設定
- chmod a+r file:給所有使用者新增讀的許可權
- 短視訊系統原始碼,讓程式獲得通知欄許可權原始碼
- UserService 查詢使用者沒許可權的索引,增加臨時許可權queryIndicesNoPermission分析索引
- MYSQL學習筆記13: DCL許可權控制(使用者許可權操作)MySql筆記
- Django(63)drf許可權原始碼分析與自定義許可權Django原始碼
- 如何使用Linux使用者身份與程式許可權的設定?Linux