gpt4 book ai didi

java - 如何提供对 DAM 内容的受限访问?

转载 作者:行者123 更新时间:2023-12-01 12:46:49 24 4
gpt4 key购买 nike

请理解,当我说“限制访问”时,我并不是限制作者,而是限制我网站的最终用户。所以请不要告诉我有关 CUG(封闭用户组)的信息。

我正在制作一个 CQ5 网站,当用户(最终用户)登录时,主页上有一个链接 <a Href="xxx"> Download</a> xxx 是 DAM 中存在的文件的路径。

每当用户(最终用户而不是作者)单击下载时,他/她就可以下载文件。

我想要的是,每当用户单击上述链接时,它应该验证用户是否登录我的网站,然后允许用户下载文件。

实现此目的的一种方法是我编写一个 Servlet 并将上面的链接映射到 Servlet,并在 servlet 的 doGet 中对用户进行身份验证并允许文档下载。但在这里我没有利用 CQ5 的 RESTful 本质。

有没有办法,比如我为 DAM 中的特定文件夹编写一个身份验证 Servlet 或过滤器来充当身份验证过滤器或其他东西? 我有道理吗?这可能吗?或者有其他选择吗? CQ 有什么建议?

最佳答案

您在下载页面下创建一个节点,该节点具有资源类型(即app/components/downloaditem)和指向/中的资源的属性fileReference内容/坝。然后编写一个响应该资源类型的 servlet,您可以使用您想要的任何逻辑来决定是否可以将文件传递给用户,如果允许,您可以传递文件(将其写入响应),如果不返回 403。

最后,下载链接不会是 /content/dam/asset1 而是 /content/web/downloads/downloadResource

您甚至可以利用下载组件(或继承它的组件),以便编辑器可以轻松地选择一个文件进行特定下载,只需使用该资源类型注册 servlet。

此外,这还允许您阻止对/content/dam 的访问,无论如何您可能都应该这样做。

出于好奇,你为什么不想使用 CUG?经过身份验证的最终用户与编辑者一样都是 CQ 用户。

关于java - 如何提供对 DAM 内容的受限访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24625374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com