设置安全性根据Folder关联的条目模板设置上传文档安全性

文章结束给大家来个程序员笑话:[M]

             XT上可以设预条目模板(EntryTemplate)来到达模板化制控上传文档安全性和属性等信息的作用。而EntryTemplate本身可以与Folder相干联(一个Folder可以关联多个EntryTemplate),这样我们在XT上的某个Folder下上传便可按照我们所要设置的值行进设置文档安全性和属性信息了,而省去了手动作操,这对zhy天津分公司的业务很有必要,原因是户客在这里体总上有三个基本组,是对全部Folder下的document备具雷同权限,而另外另个殊特的组,可能根据不同Folder的不同即不同。

             这些任务在XT上可以松轻通过配置来实现,但作为制定化开辟的应用程序,在最初实现时户客并无此求要,最初有种这殊特需求满可以制定殊特的权限管理来实现,但这仅能标指,原因是这样也会是户客做两套作动,一个是在XT上行进,另一个则是在制定的应用上行进。最好的法办是后行进的应用可以直接读取XT的相干EntryTemplate权限在对应folde下传documet时,行进相干设置。

             不过,由于FileNet本身并没有供给直接的根据Folder获得EntryTemplateAPI。而如果要通过遍历整个EntryTemplate来处理获得folder对应的EntryTemplate,一者须要应用维持一种关系(从定一意义上讲,还是得户客行进两套作动,而不是不时致一的状态),者二遍历的任务量也相当大。

             经过分析zhy天津分公司EntryTemplateFolder的特色,可以发在现FolderAnnotations中包含着EntryTemplate对应文档的列序号,可以根据它来获得相干EntryTemplate的内容,从而解析出相干权限,行进设置。本例案的殊特性在于FolderAnnotations中仅存在EntryTemplate的列序号(以件文式形存储,须要解析出特定notes的值)。体具作操过程意示代码如下所示:

每日一道理
记不清有多少个夜晚,在我翻阅纸张的指间滑落;记不清有多少支蜡烛,在我的凝视中化为灰烬。逝者如斯,我不时刻刻会听见自己对生命承诺的余音,感到岁月的流转在渐渐稀释我的年少无知,我愿自己是一只上足了发条的时钟,在昼夜不停的流转中留下自己充实的每一刻。
//获得folder关联entry template 的列序的idpublic void testWhatIsFolderAnnotationsTextId(){Connection connection = CEHelper.getConnection();CEHelper.pushSubject(connection);ObjectStore os = CEHelper.getObjectStore(connection);try{Folder folder = Factory.Folder.fetchInstance(os, new Id("{F78C8CE7-94FE-47CA-94E4-19A78EEBBF9E}"), null);AnnotationSet get_Annotations = folder.get_Annotations();Iterator iterator = get_Annotations.iterator();while(iterator.hasNext()){Annotation annotation = (Annotation)iterator.next();logger.info("annotation.get_Name() = " + annotation.get_Name());DocumentBuilderFactory docBuilderFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();DocumentBuilder docBuilder = null;docBuilder = docBuilderFactory.newDocumentBuilder();org.w3c.dom.Document doc = docBuilder.parse(annotation.accessContentStream(0));NodeList parameters = doc.getElementsByTagName("object");Node rootNode = null;if (parameters != null) {rootNode = parameters.item(0);}Element ele = (Element)rootNode;NodeList elementsByTagName = ele.getElementsByTagName("setting");Node item = elementsByTagName.item(1);logger.info("item.getNodeName() = " + item.getNodeName());logger.info("item.getNodeValue() = " + item.getNodeValue());logger.info("item.getTextContent() = " + item.getTextContent());}}catch(Exception e){e.printStackTrace();}finally{CEHelper.popSubject();}}//根据列序ID获得应相entry template的安全性等内容public void testGetVersionSeries(){Connection connection = CEHelper.getConnection();CEHelper.pushSubject(connection);ObjectStore os = CEHelper.getObjectStore(connection);try{String docId = "{60CFDD81-C2DA-46F3-A98E-B49A125930F9}";VersionSeries fetchInstance = Factory.VersionSeries.fetchInstance(os, new Id(docId), null);logger.info(fetchInstance.get_Id().toString());Document doc = (Document)fetchInstance.get_CurrentVersion();org.w3c.dom.Document w3cDoc = WcmXMLUtil.getDocumentFromInputStream(doc.accessContentStream(0));EntryTemplateParser parser = new EntryTemplateParser(w3cDoc);String className = parser.getClassName();String classId = parser.getId();List permissionList = parser.getPermissionList();List propertyList = parser.getPropertyList();Iterator iterator = permissionList.iterator();while(iterator.hasNext()){String item = (String)iterator.next();logger.info(item.toString());}}catch(Exception e){e.printStackTrace();}finally{CEHelper.popSubject();}}//设置文档安全性public void testPermission(){Connection connection = CEHelper.getConnection();CEHelper.pushSubject(connection);ObjectStore os = CEHelper.getObjectStore(connection);try{Document doc = Factory.Document.createInstance(os, "GeneralClass");AccessPermissionList createList = Factory.AccessPermission.createList();AccessPermission createInstance2 = Factory.AccessPermission.createInstance();createInstance2.set_AccessMask(131073);createInstance2.set_AccessType(AccessType.ALLOW);createInstance2.set_GranteeName("#AUTHENTICATED-USERS");createInstance2.set_InheritableDepth(-1);AccessPermission createInstance3 = Factory.AccessPermission.createInstance();createInstance3.set_AccessMask(998871);createInstance3.set_AccessType(AccessType.ALLOW);createInstance3.set_GranteeName("fnadmins");createInstance3.set_InheritableDepth(-1);createList.add(createInstance2);createList.add(createInstance3);doc.getProperties().putValue("DocumentTitle", "log4j_3.log");String minType = "application/octet-stream";doc.set_MimeType(minType);doc.checkin(AutoClassify.DO_NOT_AUTO_CLASSIFY, CheckinType.MAJOR_VERSION);doc.save(RefreshMode.REFRESH);Folder folder = Factory.Folder.fetchInstance(os, new Id("{0BCA05B3-6A0A-407C-B17A-503FA4070193}"), null);ReferentialContainmentRelationship rcr = folder.file(doc, AutoUniqueName.NOT_AUTO_UNIQUE, null, DefineSecurityParentage.DO_NOT_DEFINE_SECURITY_PARENTAGE);rcr.save(RefreshMode.REFRESH);doc.set_Permissions(createList);doc.save(RefreshMode.NO_REFRESH);}catch(Exception e){e.printStackTrace();}finally{CEHelper.popSubject();}}

文章结束给大家分享下程序员的一些笑话语录: 爱情观
  爱情就是死循环,一旦执行就陷进去了。
  爱上一个人,就是内存泄露--你永远释放不了。
  真正爱上一个人的时候,那就是常量限定,永远不会改变。
  女朋友就是私有变量,只有我这个类才能调用。
  情人就是指针用的时候一定要注意,要不然就带来巨大的灾难。

转载于:https://www.cnblogs.com/jiangu66/archive/2013/04/29/3050654.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

surfaceView中的线程问题

问题描述我在surfaceView中的surfaceCreated方法中start线程,但是当我start一个其他activity后,又finish掉那个acvitity回来,又会走到这个surfaceCreated方法,这时候走到线程的start方法,它会报错Thread already exist…

1加6投屏_6月1日起驾考要加项目?真相是这样

来源:新闻晨报近日网上流传一则消息让还没考出驾照的朋友们瑟瑟发抖网传消息称,上海、海南、陕西、贵州、浙江等地驾考科目二于6月1日起加项,因而“朋友们要抓紧时间报名,录入旧系统”。网传消息截图上海6月1日起科目二考试增加到…

Java this关键字

this 关键字有三个应用:  1.this调用本类中的属性,也就是类中的成员变量  2.this调用本类中的其他方法  3.this调用本类中的其他构造方法,调用时要放在构造方法的首行 来看下面这段代码: public String name;public void sh…

linux下查看线程数的几种方法

1、 cat /proc/${pid}/status 2、pstree -p ${pid} 3、top -p ${pid} 再按H 或者直接输入 top -bH -d 3 -p ${pid} top -H手册中说:-H : Threads toggle加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。 4、ps xH手册…

网站等保测评针对服务器,互联互通测评知识分享之信息安全建设要点

原创 医疗测评实验室 中国软件评测中心 1周前医院互联互通测评,即国家医疗健康信息互联互通标准化成熟度测评,近年来随着政策的要求、需求的驱动、技术的更迭、价值的引领,越来越被业内人士接受和认可,测评热度也水涨船高。国家卫…

树樱花满树繁花

废话就不多说了,开始。。。 学院的樱花开了,花开的很盛,满树的繁花扬张着天春的力活。 武汉三月的时候樱花就开了,武大的学同在空间里发各种玩游的照片,真是羡煞旁人。大连的天春来得晚,但究终还是赶上了。…

pandas合并groupby_pandas实践之GroupBy()

官网地址:https://pandas.pydata.org/docs/reference/groupby.htmlpandas中对数据进行分组操作的方法,官方有很详细的教程。下面的案例是真实遇到的问题,看一看用pandas是如何解决的。构造数据import pandas as pdimport numpy as npdf pd.D…

自学 web 前端人怎么找工作?

1,你做过的项目可以体现你的价值。2,你的个人博客可以反映你的思考。3,你的GitHub页面可以展示你的项目。4,你项目中的代码可以看出你编程的风格。1,2,3,4之间有交集。当你能证明,你…

《Breakfast At Tiffanys》

"生活中似乎有些男性想象着能拯救和引导一个年轻美丽纯洁善良却迷茫的女子,有些女性也想象着能用自己的善良与包容来安慰一个才华横溢却饱经苦闷与贫穷的男子,老实说,这很有成就感。虽然我的语气有些讽刺,但我相信在这些“光…

项目不需要SVN控制的时候,该怎么办

今天要用一个项目,当项目不需要SVN控制的时候,我们一般怎么办哪?可能很多人设置Windows显示隐藏文件,然后将项目中的所有.svn文件删除。下面,从网上找了个非常简单的方法第一步:建立一个名字叫做remove-svn…

erdas遥感图像几何校正_定量/高光谱遥感之—光谱分析技术

文章转载自微信公众号CSDN,作者冰清-小魔鱼,版权归原作者及刊载媒体所有。在定量遥感或者高光谱遥感中,信息提取主要用到光谱/波谱分析技术。本专题对光谱/波谱分析中涉及的流程及一些技术进行讲解,包括以下内容:基本概…

Zipkin-1.19.0学习系列1:java范例

2019独角兽企业重金招聘Python工程师标准>>> 官网地址: https://github.com/openzipkin/zipkin http://zipkin.io/ https://www.oschina.net/p/zipkin 截止到2017/1/4为止,最新版本为: Zipkin 1.19 下载地址: https://github.com/openzipkin/zipkin/arc…

PageRank算法

1. PageRank算法概述 PageRank,即网页排名,又称网页级别、Google左側排名或佩奇排名。 是Google创始人拉里佩奇和谢尔盖布林于1997年构建早期的搜索系统原型时提出的链接分析算法,自从Google在商业上获得空前的成功后,该算法也成为其他搜索引…

linux中_在 Linux 桌面中开始使用 Lumina | Linux 中国

本文是 24 天 Linux 桌面特别系列的一部分。Lumina 桌面是让你使用快速、合理的基于 Fluxbox 桌面的捷径,它具有你无法缺少的所有功能。-- Seth Kenlon多年来,有一个名为 PC-BSD 的基于 FreeBSD 的桌面操作系统(OS)。它旨在作为一个常规使用的系统&#…

弹体飞行姿态仿真软件程序代写

题目弹体飞行姿态仿真软件毕业设计的任务和要求(1)掌握查阅参考文献的方法 (2)对弹体飞行运行学模型有所研究 (3)在给定初始俯仰角、加速度、弹体质量等参数的前提下,完成弹体飞行轨迹的绘制及不…

Asp.net中实现同一用户名同时登陆,注销先前用户(转)

Web 项目中经常遇到的问题就是同一用户名多次登陆的问题,相应的解决办法也很多,总结起来不外乎这几种解决办法:将登陆后的用户名放到数据库表中;登陆后的用 户名放到Session中;登陆后的用户名放到Application中&#x…

hdu 2612 Find a way (广搜)

Problem DescriptionPass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki.Yifenfei’s home is at the countryside, but Merceki’s home is in t…

使用Notepad++开发C#,一个复杂点的csscript脚本

使用Notepad开发C#,一个复杂点的csscript脚本: 12345678910111213141516171819//css_dir ....lib;//css_ref Geb.Image.dll;//css_ref Geb.Image.ShapeAnalysis.dll;//css_ref Geb.Utils.dll;//css_ref Geb.Utils.WinForm.dll;//css_co /unsafe; using S…

正则表达式里转义字符_五分钟搞定正则表达式,如果没搞定,再加两分钟

五分钟搞定正则表达式,如果没搞定,再加两分钟【这是 ZY 第 18 篇原创文章】 文章概览一、正则表达式介绍正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE&#xf…

百度富文本编辑器,改变图片上传存储路径

我用的是最新版! 找到以下2个关键文件: YourPath.../Ueditor/php/config.json YourPath.../Ueditor/php/Uploader.class.php config.json找到如下代码: "imagePathFormat": "...(这里不用管)",//找到imagePathFormat所在…