首先,JCR路径应始终以a开头
/
。所以你的代码几乎是正确的。
更改:
request.getResourceResolver().getResource(“var”);
</code>
至:
request.getResourceResolver().getResource(“/var”);
</code>
如果你的
ResourceResolver
有阅读权限
/var
,你会得到一个
Resource
。否则,你得到
null
。如果你得到了
ResourceResolver
来自
request
,权限取决于执行请求的用户的权限。
从SlingHttpServletRequest获取resourceResolver是获得它的好方法吗?
这取决于。关于“从哪里获得你的东西”有很多话要说
ResourceResolver
“来自,但要简单:
如果要根据用户权限限制对资源的访问,则应该获取
ResourceResolver
来自a
request
。在所有其他情况下,得到
ResourceResolver
来自
ResourceResolverFactory
。
该
ResourceResolverFactory
是它自己的兔子洞。所以我会指出你的文档:
https://sling.apache.org/apidocs/sling9/org/apache/sling/api/resource/ResourceResolver.html