Update1:

When I comment out 
# securityManager.realms=$myRealm1
the program runs succesfully.

Then, when I try to set up a credentialsMatcher in shiro.ini, it also gives
an error.

java.lang.ClassNotFoundException: org.apache.commons.beanutils.PropertyUtils
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at
org.apache.shiro.config.ReflectionBuilder.isTypedProperty(ReflectionBuilder.java:409)
        at
org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:702)
        at
org.apache.shiro.config.ReflectionBuilder.applySingleProperty(ReflectionBuilder.java:364)
        at
org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:325)
        at
org.apache.shiro.config.ReflectionBuilder$AssignmentStatement.doExecute(ReflectionBuilder.java:955)
        at
org.apache.shiro.config.ReflectionBuilder$Statement.execute(ReflectionBuilder.java:887)
        at
org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor.execute(ReflectionBuilder.java:765)
        at
org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:260)
        at
org.apache.shiro.config.IniSecurityManagerFactory.buildInstances(IniSecurityManagerFactory.java:167)
        at
org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:130)
        at
org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:108)
        at
org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:94)
        at
org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:46)
        at
org.apache.shiro.config.IniFactorySupport.createInstance(IniFactorySupport.java:123)
        at
org.apache.shiro.util.AbstractFactory.getInstance(AbstractFactory.java:47)
        at kchyn.auth.AuthServer.<init>(AuthServer.java:51)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.lang.Class.newInstance(Class.java:442)
        at
org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050)
        at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:779)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
        at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
        at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
        at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)



Update2:

When I set realm, credentialMatcher programmatically it works, ie

                JdbcRealm realm = new SnakeyRealm();
                MyCredentialsMatcher cm = new MyCredentialsMatcher();
                realm.setCredentialsMatcher(cm);
                SecurityManager securityManager = new 
DefaultSecurityManager(realm);
                SecurityUtils.setSecurityManager(securityManager);

I suspect the shiro.ini initialization is not finding some things correctly
in my workspace?

I'm using eclipse, I'm not sure what other info would be useful.




--
View this message in context: 
http://shiro-user.582556.n2.nabble.com/java-lang-NoClassDefFoundError-when-setting-securityManager-realms-myRealm1-tp7581314p7581315.html
Sent from the Shiro User mailing list archive at Nabble.com.

Reply via email to