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