我们在JSPWiki里权限设置中:
一
grant principal com.ecyrd.jspwiki.auth.GroupPrincipal "Admin" {
permission com.ecyrd.jspwiki.auth.permissions.AllPermission "*";
};
grant principal com.ecyrd.jspwiki.auth.authorize.Role "Admin" {
permission com.ecyrd.jspwiki.auth.permissions.AllPermission "*";
};
可是怎么admin没有删除页面权限呢 ?开源力量的同胞们研究过这个开源软件吗?
单独给Authenticated角色赋予删除权限,就可以。
grant principal com.ecyrd.jspwiki.auth.authorize.Role "Authenticated" {
permission com.ecyrd.jspwiki.auth.permissions.PagePermission "*:*", "modify,rename,delete";
permission com.ecyrd.jspwiki.auth.permissions.GroupPermission "*:*", "view";
permission com.ecyrd.jspwiki.auth.permissions.GroupPermission "*:<groupmember>", "edit";
permission com.ecyrd.jspwiki.auth.permissions.WikiPermission "*", "createPages,createGroups";
};
为什么呢 ?
问题解决
上述问题已解决,主要是没有完全安装配置好JSPWiki得问题。初始配置安装JSPWiki时,http://localhost:8080/******(项目名)/Install.jsp进入项目初始配置页面,配置启动Admin生效,这时在系统中管理员才具有AllPermission权限。如果未注册,则即使userdatabase.xml文件中有用户名为admin的用户,也不能会拥有管理员权限。
再者,我下载的JSPWiki2.6.4稳定版中,在Install.jsp页面中存在bug,需要删除页面中:
<div class="instructions">
<wiki:Messages div="information" topic="<%=Installer.INSTALL_INFO%>" prefix="<%= rb.getString( "install.jsp.install.info" )%>"/>
<wiki:Messages div="warning" topic="<%=Installer.INSTALL_WARNING%>" prefix="<%= rb.getString( "install.jsp.install.warning" )%>"/>
<wiki:Messages div="error" topic="<%=Installer.INSTALL_ERROR%>" prefix="<%= rb.getString( "install.jsp.install.error" )%>"/>
</div>
代码,要不程序报错。也是因为删除这段代码后,在注册admin后产生的随机密码我们不知道,只能手动自己在userdatabase.xml中重新为admin设置密码。
