Shiro.ini AEM 实例中的文件

Shiro.ini file in AEM instance

我用 shiro 创建了一个网络应用程序。现在我想用 Shiro 保护 aem 应用程序。我无法找到放置 shiro.ini 文件的位置以及如何设置 EnvironmentLoaderListenerShiroFilter.

我尝试了很多方法,比如通过 bundleContextactivate() 方法

中获取 ini 文件

我想知道我必须在哪里进行 aem 中的 shiro 配置?

我已将 shiro 文件放在资源文件夹中,并将 shiro ini 文件发送到包中,然后从包中获取它:

我已将 servlet bundleContext 获取为:

@Activate
public void activate(BundleContext bundleContext) throws IOException {
    this.bundleContext = bundleContext;
}

然后使用这个 bundleContext 获取 ini 文件url

URL iniURL = bundleContext.getBundle().getEntry("shiro.ini");
Ini ini = new Ini();
ini.load(iniURL.openStream());
IniSecurityManagerFactory factory = new IniSecurityManagerFactory(ini);
securityManager = factory.getInstance();

我就是这样得到 securityManager 的。 然后使用 shiro api 进一步登录和注销目的。