再一次嘗試ralasafe,ralasafe確實(shí)是一個(gè)不錯(cuò)的權(quán)限管理的組件,但是運(yùn)用過程中需要學(xué)習(xí),而且代碼侵入性較強(qiáng),所以比較適合自己接點(diǎn)私活的時(shí)候用。
獲取源碼:
如果Eclipse裝了SVN插件可以直接從svn中獲取,步驟如下:
File--》Import...--》SVN:從SVN檢出項(xiàng)目--》下一步--》選擇:創(chuàng)建新的資源庫位置--》下一步--》URL:https://ralasafe.svn./svnroot/ralasafe--》下一步--》選擇ralasafe文件夾--》下一步--》做為新項(xiàng)目。。。--》點(diǎn)finish出現(xiàn)項(xiàng)目設(shè)置窗口,選擇Web:Dynamic Web Project,如下圖:
--》下一步--》設(shè)置項(xiàng)目名稱--》finish,在彈出的確認(rèn)覆蓋窗口點(diǎn)OK,eclipse就會(huì)從svn上提取文件到新建的這個(gè)項(xiàng)目中了。提取完成后的整個(gè)項(xiàng)目結(jié)構(gòu)如下圖:
如果沒有安裝svn插件,可直接下載ralasafe源碼,然后用eclipse新建一個(gè)Dynamic Web Project,讓后將源碼中的文件復(fù)制到項(xiàng)目中,形成上圖中的目錄結(jié)構(gòu)。
設(shè)置源碼文件:
選擇建立的ralasafe項(xiàng)目,鼠標(biāo)右鍵--》properties--》java build path:source--》點(diǎn)擊Add Folder將一下文件夾全部加入source中:client, constants-and-commons,demo,entitlement,for-client-interface,orm,src,user,util,test,設(shè)置output folder為ralasafe_test/build/classes(我這里修改了項(xiàng)目名稱,所以會(huì)有一點(diǎn)不一樣,不過影響不大)
設(shè)置LIB
復(fù)制項(xiàng)目中l(wèi)ib文件夾中的所有的jar包到WebContent/WEB-INF/lib下,注意能加子文件夾,需要將lib子文件夾中的jar包復(fù)制出來放到/WEB-INF/lib下面,不能存在子文件夾。將WEB-INF/lib下的jar包全部加入build path中。(只要將jar復(fù)制到WEB-INF/lib下一般會(huì)自動(dòng)加入,碰到不能加入的手動(dòng)加入一下即可。)如下圖所示:
發(fā)布設(shè)置
選擇建立的ralasafe項(xiàng)目,鼠標(biāo)右鍵--》properties--》Deployment Assembly--》點(diǎn)擊Add將所有的源碼文件都添加進(jìn)來,如下圖:(我這里多了個(gè)ralasafe的library是因?yàn)槲野裭ib中的jar包全部加入到了一個(gè)自定義的library中了)
建立數(shù)據(jù)庫
測(cè)試時(shí)用的是mysql,大概說一下。
將項(xiàng)目文件夾中sql文件夾下的create-database.sql、demo-mysql.sql兩個(gè)文件中的sql導(dǎo)入到mysql(數(shù)據(jù)庫其他客戶端直接執(zhí)行文件中的sql也可以),形成如下數(shù)據(jù)庫和表結(jié)構(gòu)。
mydemo為demo的數(shù)據(jù)庫,ralasafe為ralasafe的核心數(shù)據(jù)庫。
修改配置文件
數(shù)據(jù)庫配置文件:
/WebContent/WEB-INF/ralasafe/app-ds.properties為demo的數(shù)據(jù)庫配置文件。
/WebContent/WEB-INF/ralasafe/ralasafe-db.properties為ralasafe本身的數(shù)據(jù)庫配置文件。
如果demo的數(shù)據(jù)庫名不為mydemo則還需要修改/WebContent/WEB-INF/ralasafe/datasources.xml中<datasourcename="app"configFile="app-ds.properties"schemas="mydemo,ralasafe"/>
將schemas="mydemo,ralasafe"中的mydemo修改為實(shí)際的數(shù)據(jù)庫名稱。
修改元數(shù)據(jù)存儲(chǔ)路徑:
<servlet>
<servlet-name>ralasafe</servlet-name>
<servlet-class>org.ralasafe.servlet.RalasafeController</servlet-class>
<init-param>
<param-name>repositoryDir</param-name>
<param-value>/home/julian/workspace/ralasafe/xml</param-value>
</init-param>
<init-param>
<param-name>secured</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>修改repositoryDir路徑為本機(jī)中的一個(gè)路徑,最好是絕對(duì)路徑。
發(fā)布
像其他Dynamic Web Project一樣發(fā)布到應(yīng)用服務(wù)器即可。
其他
啟動(dòng)服務(wù)器,不報(bào)錯(cuò)且控制臺(tái)出現(xiàn)“**** Ralasafe started successfully! ”則標(biāo)識(shí)啟動(dòng)成功。
如果有報(bào)錯(cuò),則查看應(yīng)用服務(wù)器的發(fā)布目錄中的一下各文件是否正常(注意:elipse默認(rèn)中tomcat默認(rèn)的發(fā)布目錄在工作空間的.metadata\.plugins\org.eclipse.wst.server.core中的一個(gè))。
查看發(fā)布目錄中的WEB-INF\lib中是否有所有的jar文件,且不能有子文件夾。
查看發(fā)布目錄中的WEB-INF\classes中是否有配置文件及.class文件。
在瀏覽器中打開http://host:port/content_root/ralasafe/designer.rls即可打開設(shè)計(jì)頁面。
demo登錄頁面為http://host:port/content_root/ralasafe/demo/login.jsp