壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 329|回复: 0

用sdk在内容库中创建目录及设置目录权限

[复制链接]
发表于 2012/3/12 15:15:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
背景 :Cognos与系统集成;
       用java提供程序进行Cognos身份认证使系统用一套用户、角色设置;
       对于高级用户在Cognos中可以设计报表并将报表保存至自己的目录。
       因此在给用户赋予高级角色时,有以下功能需求:
       1、在Cgonos中创建目录;
       2、对该目录进行权限设置,该用户具有读、写、执行、遍历的权限,其他用户只能读、执行。
      
      
SDK:
    创建目录及设置权限在Cognos的 SDK sample已经给出了实现例子。
    Cognos中创建目录 sample.HandlersCS.CSHandlers
    给目录设置权限 sample.Security.Capabilities
   
   
经测试改写sample程序实现赋予用户高级权限时创建目录及设置权限的功能,但同时发现页面响应时间明显延长。
经过分析及断点调试,感觉主要是以下两处:
1、连接到Cognos server获取ContentManagerService_Port。
2、给目录赋予用户权限时会调用java 提供程序进行用户信息的获取。

不知各位是否有什么好办法以提高响应。



ps.关于第二条还有以下插曲。
因考虑到一致性,最开始的实现方式是将用户角色设置的数据库操作纳入到事物中进行处理。先角色设置操作然后sdk调用创建目录及设置权限,一旦出错(主要是考虑Cognos 内容库的操作)就回滚。测试发现sdk操作权限设置始终无法成功(获取用户对象超时返回null),经断点调试才知
connection.getCMService().query(
                           new SearchPathMultipleObject("CAMID(\"TESTAuth:u:testuserid\")"),
                                new PropEnum[] { PropEnum.searchPath, PropEnum.policies },
                                new Sort[] {},
                                new QueryOptions());
                                
方法中会获取用户信息,而JAVA提供程序中获取该条用户信息的数据已经加锁导致超时。

该贴已经同步到 xiaoerp的微博
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 08:58 , Processed in 0.011162 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表