再一次尝试ralasafe,ralasafe确实是一个不错的权限管理的组件,但是运用过程中需要学习,而且代码侵入性较强,所以比较适合自己接点私活的时候用。
获取源码:
如果Eclipse装了SVN插件可以直接从svn中获取,步骤如下:
File--》Import...--》SVN:从SVN检出项目--》下一步--》选择:创建新的资源库位置--》下一步--》URL:https://ralasafe.svn.sourceforge.net/svnroot/ralasafe--》下一步--》选择ralasafe文件夹--》下一步--》做为新项目。。。--》点finish出现项目设置窗口,选择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
复制项目中lib文件夹中的所有的jar包到WebContent/WEB-INF/lib下,注意能加子文件夹,需要将lib子文件夹中的jar包复制出来放到/WEB-INF/lib下面,不能存在子文件夹。将WEB-INF/lib下的jar包全部加入build path中。(只要将jar复制到WEB-INF/lib下一般会自动加入,碰到不能加入的手动加入一下即可。)如下图所示:
发布设置
选择建立的ralasafe项目,鼠标右键--》properties--》Deployment Assembly--》点击Add将所有的源码文件都添加进来,如下图:(我这里多了个ralasafe的library是因为我把lib中的jar包全部加入到了一个自定义的library中了)
建立数据库
测试时用的是mysql,大概说一下。
将项目文件夹中sql文件夹下的create-database.sql、demo-mysql.sql两个文件中的sql导入到mysql(数据库其他客户端直接执行文件中的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路径为本机中的一个路径,最好是绝对路径。
发布
像其他Dynamic Web Project一样发布到应用服务器即可。
其他
启动服务器,不报错且控制台出现“**** Ralasafe started successfully! ”则标识启动成功。
如果有报错,则查看应用服务器的发布目录中的一下各文件是否正常(注意:elipse默认中tomcat默认的发布目录在工作空间的.metadata\.plugins\org.eclipse.wst.server.core中的一个)。
查看发布目录中的WEB-INF\lib中是否有所有的jar文件,且不能有子文件夹。
查看发布目录中的WEB-INF\classes中是否有配置文件及.class文件。
在浏览器中打开http://host:port/content_root/ralasafe/designer.rls即可打开设计页面。
demo登录页面为http://host:port/content_root/ralasafe/demo/login.jsp