This is what we use in a bean annotated with @Startup @Singleton:
@PostConstruct
public void initializeShiro() {
String iniFile = retrieveFromDatabase(); // real implementation
omitted for clarity
Ini ini = new Ini();
ini.load(iniFile);
String realms = ini.getSectionProperty("main",
"securityManager.realms");
if (realms != null && !realms.contains(CamelRealm.CAMELREALM)) {
ini.setSectionProperty("main", "securityManager.realms",
realms + ", $" + CamelRealm.CAMELREALM);
}
BeanManager beanManager = CDI.current().getBeanManager();
IniSecurityManagerFactory factory = new
CdiIniSecurityManagerFactory(ini, beanManager);
org.apache.shiro.mgt.SecurityManager securityManager =
(org.apache.shiro.mgt.SecurityManager) factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
}
--
View this message in context:
http://shiro-user.582556.n2.nabble.com/EnvironmentLoadListener-initialzation-from-EJB-tp7581523p7581527.html
Sent from the Shiro User mailing list archive at Nabble.com.