在OpenCms使用过程中,有时候线上的Gest用户需要进行读写的操作,而此时的用户是没有权限进行读写操作的。此时,开发者可以进行初始化一个有权限的CmsObject进行读写操作。
此处提供一个解决方案:
在OpenCms中创建一个模块,然后为 Action class 属性配置上一个类。
public class CmsAdminObject extends A_CmsModuleAction {
/** The cms context. */
private static CmsObject m_cms;
/**
* Returns the admin cms context.
* <p>
*
* @return the admin cms context
*/
public static CmsObject getAdminCms() {
return m_cms;
}
/**
* @see org.opencms.module.A_CmsModuleAction#initialize(org.opencms.file.CmsObject,
* org.opencms.configuration.CmsConfigurationManager,
* org.opencms.module.CmsModule)
*/
@Override
public void initialize(CmsObject adminCms, CmsConfigurationManager configurationManager, CmsModule module) {
super.initialize(adminCms, configurationManager, module);
try {
String user = module.getParameter("user", "Admin");
String site = module.getParameter("site", "/sites/default/");
String ouFqn = module.getParameter("oufqn", "/");
String encoding = module.getParameter("encoding", "UTF-8");
String project = module.getParameter("project", "Offline");
CmsContextInfo cmsInfo = new CmsContextInfo();
cmsInfo.setProjectName(project);
cmsInfo.setSiteRoot(site);
cmsInfo.setEncoding(encoding);
cmsInfo.setUserName(ouFqn + user);
cmsInfo.setLocale(Locale.CHINA);
m_cms = OpenCms.initCmsObject(OpenCms.initCmsObject(adminCms), cmsInfo);
} catch (CmsException e) {
// initialization failed
e.printStackTrace();
}
}
}
类中使用的模块参数可以进行配置。当OpenCms启动时,就会用模块中配置的参数创建一个CmsObject对象(模块参数中配置的用户应该有读写的权限),在JSP页面中需要进行读写操作时,
<%@page import="org.opencms.main.CmsContextInfo"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*,
org.opencms.jsp.*,
org.opencms.file.*,
static CmsAdminObject.getAdminCms"
%>
<%
CmsObject cms = getAdminCms();
cms.createResource("/text",1);
%>
这样就可以解决Gest用户线上无法进行读写操作的问题了。
分享到:
相关推荐
opencms guide
主要讲述在opencms下apache和tomcat配置,去掉两个opencms
干货,opencms应用中去掉路径中两个/opencms。利用urlrewritefilter,网上方法走不通,自己琢磨得出,完美去除。官方文档中方法会带来一些问题。 学习过程中使用了很多积分,各位不缺的话,支援下。实在没有积分又很...
OpenCms是一个专业级别的开源网站内容管理系统。OpenCms可以非常容易的帮助建立和管理复杂的网站而无需专业的HTML知识。当使用一个复杂的模板引擎来规划站点,它提供一个类似于我们熟知的office应用的所见即所得编辑...
OpenCms是一个专业级别的开源网站内容管理系统。OpenCms可以非常容易的帮助建立和管理复杂的网站而无需专业的HTML知识。当使用一个复杂的模板引擎来规划站点,它提供一个类似于我们熟知的office应用的所见即所得编辑...
定义和使用OpenCms结构化XML内容.rar 包括模块的建立
OpenCms是一个专业级、开源Java CMS(内容管理系统),由Alkacon公司发起和维护,OpenCms完全基于Java和XML技术实现,内容维护方便、直观,类型定义简单、快速,基于Jsp的模板机制强大、灵活,OpenCms扩展机制可以很好...
作者希望OpenCms6.2千寻汉化包1.1版能给众多的OpenCms研究者在OpenCms的研究道路上提供一些帮助…… 作者会陆续出一些OpenCms相关的东东与大家共享……:) OpenCms是一个专业级开源网站内容管理系统,是一个J2EE的...
NULL 博文链接:https://daichangfu.iteye.com/blog/1391964
opencms 中文网提供的java api 文档包
opencms用户指南+源码 opencms用户指南+源码 opencms用户指南+源码
OpenCms创建网站过程图解——献给OpenCms的初学者们,一起学习吧
Update your existing OpenCms installation to version 9.5.2 with the easy to use upgrade wizard. OpenCms 7.x 和8.x 升级到OpenCms 9.5.2版本安装向导。
OpenCms是一个专业级别的开源网站内容管理系统。OpenCms可以非常容易的帮助建立和管理复杂的网站而无需专业的HTML知识。当使用一个复杂的模板引擎来规划站点,它 提供一个类似于我们熟知的office应用的所见即所得...
Opencms 中文网原创,请下载支持,欢迎转发,请注明来源Opencms 中文网博客
NULL 博文链接:https://shan1234567.iteye.com/blog/913989
OpenCMS入门指南OpenCMS入门指南OpenCMS入门指南OpenCMS入门指南OpenCMS入门指南
opencms中文教程 手册 指南 汉化 part2
opencms二次开发