我用shiro创建了一个网络应用程序。现在我想用Shiro确保aem应用程序。我无法找到shiro.ini
文件的放置位置以及如何设置EnvironmentLoaderListener
和ShiroFilter
。
我尝试了很多内容,例如在bundleContext
方法中通过activate()
获取ini文件
我想知道在哪里我必须在aem中执行shiro配置?
答案 0 :(得分:0)
我把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进一步登录和注销。