【发布时间】:2017-04-28 12:25:09
【问题描述】:
在我的 Shiro 应用程序中,我使用 JndiRealmFactory 来定义我的领域。我像这样注册我的领域:
Hashtable<String, String> args = new Hashtable<>();
args.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
InitialContext ctx = new InitialContext(args);
ctx.bind("realms/MyRealm", myRealm);
但是,Shiro 找不到realms/MyRealm。我认为原因是,我需要定义JndiRealmFactory 的jndiEnvironment,其中包含Context.INITIAL_CONTEXT_FACTORY 属性。但是,我不知道如何在我的shiro.ini 中设置此属性:
realmFactory.jndiEnvironment = ?
我正在 TomEE 上运行我的应用程序。
我当前的shiro.ini 看起来像这样:
realmFactory = org.apache.shiro.realm.jndi.JndiRealmFactory
realmFactory.jndiNames = realms/MyRealm
【问题讨论】:
-
发布完整的 shiro.ini 不需要 realmFactory.jndiEnvironment
-
我发布的代码是我在注册领域时得到的全部内容。我错过了什么吗?
标签: java jndi shiro apache-tomee