gpt4 book ai didi

aem - 为什么 AEM 对于没有扩展名的请求返回 403?

转载 作者:行者123 更新时间:2023-12-05 08:54:52 27 4
gpt4 key购买 nike

默认情况下,所有 GET 请求首先转到 DefaultGetServlet。基于扩展,它将请求委托(delegate)给渲染器。现在,如果请求 URI 中没有扩展名,为什么 AEM 会发送 403 (Forbidden)?至多,如果 AEM 无法提供此服务,它可能会改为发送 BAD REQUEST。即使您以管理员用户身份登录(具有最高级别的授权,如果有帮助的话),AEM 也会发送 403。

例子:

http://localhost:4502/content/geometrixx/en/events

此 URL 将以 403 响应。鉴于 ​​

http://localhost:4502/content/geometrixx/en/events.html

将毫无问题地送达。

最佳答案

如 Ahmed 所述,除上述内容外:使用 URL“http://localhost:4502/content/geometrixx/en/eventsStreamRendererServlet 将被执行并解析为 redirect logic/ 结尾。

// redirect to this with trailing slash to render the index
String url = request.getResourceResolver().map(request,resource.getPath())+ "/";
response.sendRedirect(url);

一旦重定向到“http://localhost:4502/content/geometrixx/en/events/”相同的 StreamRendererServlet 解析为 directory listing logic .

// trailing slash on url means directory listing
if ("/".equals(request.getRequestPathInfo().getSuffix())) {
renderDirectory(request, response, included);
return;
}

renderDirectory 中为 indexing will be false ,

if (index) {
renderIndex(resource, response);
} else {
response.sendError(HttpServletResponse.SC_FORBIDDEN);
}

将发送 403 Forbidden 响应。

您可以通过为“Apache Sling GET Servlet”felix 配置控制台启用“自动索引”来更改此行为。

关于aem - 为什么 AEM 对于没有扩展名的请求返回 403?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48166989/

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