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.

Reply via email to