`
zhcheng
  • 浏览: 163315 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OpenCms初始化一个CmsObject

 
阅读更多

在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

    opencms guide

    opencms去掉两个tomcat

    主要讲述在opencms下apache和tomcat配置,去掉两个opencms

    opencms应用中去掉路径中的两个/opencms

    干货,opencms应用中去掉路径中两个/opencms。利用urlrewritefilter,网上方法走不通,自己琢磨得出,完美去除。官方文档中方法会带来一些问题。 学习过程中使用了很多积分,各位不缺的话,支援下。实在没有积分又很...

    OpenCms 8.0.2.zip

    OpenCms是一个专业级别的开源网站内容管理系统。OpenCms可以非常容易的帮助建立和管理复杂的网站而无需专业的HTML知识。当使用一个复杂的模板引擎来规划站点,它提供一个类似于我们熟知的office应用的所见即所得编辑...

    OpenCms 8.0.0 SRC.zip

    OpenCms是一个专业级别的开源网站内容管理系统。OpenCms可以非常容易的帮助建立和管理复杂的网站而无需专业的HTML知识。当使用一个复杂的模板引擎来规划站点,它提供一个类似于我们熟知的office应用的所见即所得编辑...

    定义和使用OpenCms结构化XML内容

    定义和使用OpenCms结构化XML内容.rar 包括模块的建立

    Eclipse中引用opencms

    OpenCms是一个专业级、开源Java CMS(内容管理系统),由Alkacon公司发起和维护,OpenCms完全基于Java和XML技术实现,内容维护方便、直观,类型定义简单、快速,基于Jsp的模板机制强大、灵活,OpenCms扩展机制可以很好...

    OpenCms6.2千寻汉化包1.1版

    作者希望OpenCms6.2千寻汉化包1.1版能给众多的OpenCms研究者在OpenCms的研究道路上提供一些帮助…… 作者会陆续出一些OpenCms相关的东东与大家共享……:) OpenCms是一个专业级开源网站内容管理系统,是一个J2EE的...

    opencms配置去掉2个opencms总结

    NULL 博文链接:https://daichangfu.iteye.com/blog/1391964

    opencms9 java api

    opencms 中文网提供的java api 文档包

    opencms用户指南 + 源码

    opencms用户指南+源码 opencms用户指南+源码 opencms用户指南+源码

    OpenCms创建网站过程图解——献给OpenCms的初学者们

    OpenCms创建网站过程图解——献给OpenCms的初学者们,一起学习吧

    OpenCms 7.x和8.x 升级到 OpenCms 9.5.2

    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是一个专业级别的开源网站内容管理系统。OpenCms可以非常容易的帮助建立和管理复杂的网站而无需专业的HTML知识。当使用一个复杂的模板引擎来规划站点,它 提供一个类似于我们熟知的office应用的所见即所得...

    OpenCms 内容类型模块

    Opencms 中文网原创,请下载支持,欢迎转发,请注明来源Opencms 中文网博客

    opencms路径去掉两个opencms的方法总结

    NULL 博文链接:https://shan1234567.iteye.com/blog/913989

    OpenCMS入门指南

    OpenCMS入门指南OpenCMS入门指南OpenCMS入门指南OpenCMS入门指南OpenCMS入门指南

    opencms中文教程 手册 指南 汉化 2

    opencms中文教程 手册 指南 汉化 part2

    opencms二次开发

    opencms二次开发

Global site tag (gtag.js) - Google Analytics