匿名用户的RichText呈现问题

时间:2015-06-09 04:16:22

标签: websphere-portal richtext wcm

我正在尝试使用wcm API从WCM渲染richtext内容。我有jsp这样做。它为除匿名之外的所有用户组正确呈现。当我查看渲染的内容时,我在richtext中看到了破碎的图像。当我登录并查看渲染的内容时,将显示图像。

这是我的代码:

Workspace ws = WCM_API.getRepository().getSystemWorkspace();
ws.login();
DocumentLibrary lib = ws.getDocumentLibrary("Portal Site");
String s1 = "";
String s2 = "";


if (lib!=null) {
    DocumentIdIterator<Document> it = ws.findByName(DocumentTypes.Content,"kino");

    if (it.hasNext()) {
        DocumentId<Document> docid = it.next();

        Content doc = (Content) ws.getById(docid);
        s1 = "Title: " + doc.getTitle() + "\n";

        RichTextComponent c = (RichTextComponent) doc.getComponent("Body");

        s2 = "Text: " + c.getRichText();
    }
} 
out.println(s1);
out.println(s2);

s2是为授权用户输出带有图像的richtext。 当我注销并查看s2输出时:显示文本但图像被破坏

2 个答案:

答案 0 :(得分:0)

请确保您在用户级别授予对所有RichText组件和父站点区域的匿名访问权限。 并在工作区对象

上添加此调用
workspace.useUserAccess(true);

答案 1 :(得分:0)

在我的情况下,解决方案与访问级别无关! 我检查了内容的url,在两种情况下它都包含/ myconnect字(例如:http:ip_address:port / wps / wcm / myconnect / ...) 我发现myconnect是授权用户的 和连接是为anon用户。 (例如:http:ip_address:port / wps / wcm / connect / ...) 只需将url中的连接替换为wcm内容,我设法解决了问题: