顯示具有 技術 標籤的文章。 顯示所有文章
顯示具有 技術 標籤的文章。 顯示所有文章

Authenticating/Unauthenticating with the Registry

平常遇到問題總會先查google..
發現有些善心人士會把他們的心得寫在網路上..真想叫他們"恩人"~
不過這次遇到一個連google和恩人就救不了我的障礙..
斷斷續續花了將近五天的時間來研究..就在剛剛終於解決了~呼~~
我決定把我的做法寫上來..也許將來有人會需要!
p.s. 方法不一定正確 但是可行!


---------------

我們常聽到submit/find/query/retrieve,
但在使用freebxml時, 真正需要認證使用者的只有submit
否則任何使用者皆為RegistryGuest身份!

所以想submit物件時,
首先要透過freebxml介面註冊自己的帳號並且下載自己的CA憑證
並在瀏覽器中匯入此憑證, 即具有RegistryOperator身份, 可以submit物件!



但這是在有WEB UI的狀況下才可行,
如果想透過程式(JAXR), 就必須先將CA轉入freebxml Keystore.jks
在Service Registry Developer Guide中雖然有提到轉入的方式
但只適用於sun registry, 像我用freebxml就準備發呆啦..

其實freebxml有提供MoveKeystore程式, 只是我不會用! 不熟! 找不到資料!
只好笨笨的把這些程式拿來try and error..終於試成功了!
來源為:我的CA憑證.p12
目的為:Keystore.jks


要確定是否成功最簡單的方式..就是..看看檔案大小! 多了2KB!


接著可以在程式端, 透過新的Keystore.jks取得的我的憑證資訊!


然後.....
然後呢.....
我的程式還是執行不過去.....
雖然取得憑證照理來講應該就是RegistryOperator身份!
但還是一直跑出...「妳是個RegistryGuest 妳沒有權限submit物件」
吼~超。討。厭。的

在一陣亂七八糟找參數、找程式、找方法...過程後...
我發現freebxml安裝目錄下有個omar-common.properties
裡面就有一行參數可以設定...「unauthenticated user registration」


就這樣..把值設為true之後..
重新把freebxml clean → compile → deploy
完全不用經過認證, 隨便一個RegistryGuest都可以submit了!!!
喜淚交雜..太概就是這種感覺了吧!
花了那麼多時間..竟然用這種毫無安全性可言的方式試成功了..
不過因為我的研究不探討安全問題..先把眼睛矇著吧●_●

這是我submit的ExternalLink物件, 在registry中也真的看的到!




這篇文章寫起來有點遺憾..
雖然前半段沒試成功, 但也是提供了一個方法給大家參考..

心得分享:
當遇到障礙的時候千萬不要放棄唷
但也不要拼命黏著它..只會消耗自己的能量!
休息吧..看電視、聽音樂、出去走走、睡覺..都好!!!
偶爾跳脫反而會得到靈感..真的! 下次再回頭看又是不一樣的感覺!