背景介绍:最近来到新公司,领导安排研究一下JSPWiki的工作。然后把公司的所有文档录入到JSPWiki网站上,然后做一个工具抓取JSPWiki网站内容下来,再生成CHM文件,制作CHM帮助手册。现在把相关经验记录一下。(关于Wiki网站是什么,大家百度去哈)
一、部署
JSPWiki下载网址:http://mirrors.cnnic.cn/apache/jspwiki/
(我下载的是:2.10.1 版本的,JSPWiki.war)(JSPWiki官网:https://jspwiki-wiki.apache.org/)
Tomcat下载网址:http://tomcat.apache.org/download-60.cgi
(我下载的是Tomcat6.0版本的,apache-tomcat-6.0.43-windows-x86.zip)
第一步,启动tomcat服务器:
Tomcat下载完之后,解压,随便找一个地方放就可以了。
然后去到bin目录,(例如:*\apache-tomcat-6.0.43-windows-x86\apache-tomcat-6.0.43\bin),运行start.bat
注意:建议在cmd命令窗口中,跳转到tomcat的bin目录,然后再执行start.bat,不要直接双击start.bat,那样看不到异常错误的。
步骤如下:cmd---> 跳转到指定的盘符,( tomcat存放的盘符(例如:d:),我的tomcat放在了d盘下面)。
然后cd tomcat的bin目录,(例如:cd D:\NotNeedSetupFiles\apache-tomcat-6.0.43-windows-x86\apache-tomcat-6.0.43\bin)
然后 start.bat
tomcat如果启动正常的话,就会弹出一个tomcat服务器运行界面。
tomcat运行成功后的界面截图:
第二步,复制JSPWiki.war到Tomcat服务器的【webApps】目录下,进行自动解压
然后把下载的JSPWiki.war文件直接复制到tomcat的 【webapps\】 目录下,(如果一切正常,Tomcat服务器会自动解压文件,然后会自动生成一个 JSPWiki文件夹的)。
第三步,直接在浏览器输入http://localhost:8080/JSPWiki/
如果一切正常,浏览器就会出现JSPWiki网站了,至此,部署工作完毕啦~
二、使用经验
1. JSPWiki的权限配置问题。
首先必须先介绍两个JSPWiki的XML文件:【webapps\JSPWiki\WEB-INF】 目录下
groupdatabase.xml ---》存放JSPWiki分组数据的
userdatabase.xml ---》存放JSPWiki用户数据的
文件内容结构很简单,一看都懂的,就不介绍了。
JSPWiki的权限控制结构大概这样的:
(1)人-------------->拥有的权限。
(2)角色分组----->拥有的权限。
(3)人-------------->所属的分组。
一个人有哪些权限: 人所有的权限 + 人所在的角色分组里面的权限。
针对我公司的情况,以及JSPWiki的权限设计,我把权限级别分成四中角色组:
第一类:Admin 组人员,管理员。可以查看、删除角色分组信息;可以删除所有的页面、附件;可以编辑所有页面内容。
第二类:Editors 组人员,编辑者。可以编辑所有页面内容(但是不能删除页面和附件,没有管理的权限)
第三类:普通用户(可以登录的用户)。 只能查看所有页面,但是不能编辑页面内容。
第四类:访客人员权限(Cookie用户登录身份)。 可以自由注册账号,可以查看所有页面内容。(但是不能编辑页面)
介绍到重点了:如何配置JSPWiki的权限?!
【JSPWiki的权限信息都保存在这个文件下:webapps\JSPWiki\WEB-INF\jspwiki.policy】
用记事本直接打开jspwiki.policy 文件(我用记事本打开是经过了去空格压缩的,很难看,我后来用VS打开就好看很多了)
里面只有这两种配置:
//分组权限配置:
grant principal org.apache.wiki.auth.GroupPrincipal "Admin" {
permission org.apache.wiki.auth.permissions.AllPermission "*";
};
//角色权限配置:
grant principal org.apache.wiki.auth.authorize.Role "Admin" {
permission org.apache.wiki.auth.permissions.AllPermission "*";
};
//下面就是常见的权限项(每一项代表所拥有的权限):
permission org.apache.wiki.auth.permissions.PagePermission "*:*", "modify,rename"; //可以修改页面内容
permission org.apache.wiki.auth.permissions.GroupPermission "*:*", "view"; //可以查看分组的内容(角色分组)
permission org.apache.wiki.auth.permissions.GroupPermission "*:<groupmember>", "edit"; //可以编辑分组成员信息
permission org.apache.wiki.auth.permissions.WikiPermission "*", "createPages,createGroups"; //可以新增页面、新增分组
按照我一开始介绍的需求,我这样配置就可以了:
//admin用户拥有所有权限
grant principal org.apache.wiki.auth.authorize.Role "Admin" {
permission org.apache.wiki.auth.permissions.AllPermission "*";
};
//Editors分组里面的人
grant principal org.apache.wiki.auth.GroupPrincipal "Editors" {
permission org.apache.wiki.auth.permissions.PagePermission "*:*", "modify,rename";
};
//登录后的用户
grant principal org.apache.wiki.auth.authorize.Role "Authenticated" {
permission org.apache.wiki.auth.permissions.PagePermission "*:*", "view";
};
//通过浏览器Cookie自动登录的用户
grant principal org.apache.wiki.auth.authorize.Role "Asserted" {
permission org.apache.wiki.auth.permissions.PagePermission "*:*", "view";
};
grant principal org.apache.wiki.auth.authorize.Role "Anonymous" {
permission org.apache.wiki.auth.permissions.PagePermission "*:*", "view";
};
2.JSPWiki无法上传附件名是中文的附件
配置tomcat服务器容器的URI编码即可:【位于:apache-tomcat-6.0.43\conf\server.xml】
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />