我願意創建一個私有的Maven倉庫,其訪問規則不是基於組/模式,而是完全自定義的規則。我已經檢查了nexus和jfrog,他們都保持簡單的用戶/組/模式方法。和(AFAICS)雖然提供了自定義的身份驗證方式,但它們不提供自定義訪問規則。Maven認證如何工作?
因此,我開始思考相反的情況:如果我可以用我的自定義規則創建一個簡單的存儲庫,該怎麼辦?但是當我在Apache文檔中搜索時,沒有清楚地解釋如何在背面執行身份驗證。
有沒有人知道這是如何完成的,也許指向正確的文檔?
我願意創建一個私有的Maven倉庫,其訪問規則不是基於組/模式,而是完全自定義的規則。我已經檢查了nexus和jfrog,他們都保持簡單的用戶/組/模式方法。和(AFAICS)雖然提供了自定義的身份驗證方式,但它們不提供自定義訪問規則。Maven認證如何工作?
因此,我開始思考相反的情況:如果我可以用我的自定義規則創建一個簡單的存儲庫,該怎麼辦?但是當我在Apache文檔中搜索時,沒有清楚地解釋如何在背面執行身份驗證。
有沒有人知道這是如何完成的,也許指向正確的文檔?
身份驗證是通過基本連接用戶名和密碼的基本身份驗證完成的,base64對其進行編碼。所以Maven和Apache相互理解。
但開箱即用的Apache授權基於,你猜對了。目錄(代表Maven的工件組),用戶名和組。所以除非你願意編寫一個定製的Apache模型,否則你不會獲得很多。基於IP的訪問控制可能比使用Nexus/JFrog更好地利用Apache來完成,但我沒有查看年齡的身份驗證設置。
在Artifactory中,爲了實現您提到的內容,您可以執行的操作是爲每個用戶創建權限目標。這意味着所有的Maven用戶都會部署到同一個存儲庫,但每個用戶都有不同的名稱空間。例如,'com/{company}/{project} /'(請將公司和項目替換爲實際值)
這是在使用'包含模式'的權限目標上完成的,假設我的公司名稱是JFrog,我正在研究一個名爲'artifactory'的項目,我將擁有一個包含模式'/ com/jfrog/artifactory/**/*'的權限目標。
您還可以使用腳本創建這些權限目標,該腳本將使用this REST API爲您自動執行。
這意味着我只能夠到達這個名稱空間。 這有幫助嗎?
如果需要,您當然可以訪問存儲庫特定區域的訪問規則,但通常這不是必需的。如果你真的需要有限的訪問權限,例如在Nexus中創建一個單獨的存儲庫...... BTW:在「自定義訪問規則......」下你明白了什麼......? – khmarbaise
這就是問題所在,工件的分佈非常複雜,以至於無法創建自定義規則或更糟糕的自定義存儲庫。實際上,每個用戶都應該擁有自己的存儲庫,這些存儲庫可能隨時發生變化。 – Panayotis
每個用戶的存儲庫都沒有意義,因爲這些工件被它們的座標分隔。通過使用座標來分離工件,究竟是什麼問題?爲什麼你需要在用戶基礎上這樣的事情?什麼是分配文物太複雜了?去哪裏 ? Maven Central到您自己的本地存儲庫? – khmarbaise