Hi. I've downloaded and installed plugin as described here:
https://docs.sonatype.org/display/Nexus/Nexus+Crowd+PluginI've got it connecting to my version of crowd (I can see the auth request/response in the crowd log, plus I've used the test link in the documentation) but when nexus loads (using tomcat) I get this error below:
java.lang.ClassCastException: org.sonatype.nexus.plugins.crowd.client.CrowdRoleLocator cannot be cast to org.sonatype.jsecurity.locators.users.PlexusUserLocator
at org.sonatype.jsecurity.locators.users.DefaultPlexusUserManager.getPrimaryLocator(DefaultPlexusUserManager.java:113)
at org.sonatype.jsecurity.locators.users.DefaultPlexusUserManager.getUser(DefaultPlexusUserManager.java:67)
at org.sonatype.jsecurity.locators.users.AdditinalRolePlexusUserManager.getUser(AdditinalRolePlexusUserManager.java:26)
at org.sonatype.jsecurity.realms.AbstractXmlAuthorizingRealm.doGetAuthorizationInfo(AbstractXmlAuthorizingRealm.java:73)
at org.jsecurity.realm.AuthorizingRealm.getAuthorizationInfo(AuthorizingRealm.java:279)
at org.jsecurity.realm.AuthorizingRealm.isPermitted(AuthorizingRealm.java:360)
at org.jsecurity.realm.AuthorizingRealm.isPermitted(AuthorizingRealm.java:356)
at org.sonatype.jsecurity.web.WebPlexusSecurity.isPermitted(WebPlexusSecurity.java:355)
at org.jsecurity.subject.DelegatingSubject.isPermitted(DelegatingSubject.java:143)
at org.jsecurity.web.filter.authz.PermissionsAuthorizationFilter.isAccessAllowed(PermissionsAuthorizationFilter.java:45)
at org.sonatype.nexus.security.filter.authz.HttpVerbMappingAuthorizationFilter.isAccessAllowed(HttpVerbMappingAuthorizationFilter.java:106)
at org.jsecurity.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:145)
at org.jsecurity.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:175)
at org.jsecurity.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:129)
at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
at org.jsecurity.web.servlet.FilterChainWrapper.doFilter(FilterChainWrapper.java:57)
at org.jsecurity.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:105)
at org.jsecurity.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:135)
at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
at org.jsecurity.web.servlet.FilterChainWrapper.doFilter(FilterChainWrapper.java:57)
at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)
at org.sonatype.nexus.security.filter.NexusJSecurityFilter.doFilterInternal(NexusJSecurityFilter.java:63)
at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:637)
Does anyone have an idea of what could be wrong? It looks like it's trying to cast the CrowdROLELocator to the PlexusUSERLocator.
Cheers,
Craig Cook
justinedelson wrote:
After much delay, the Nexus Crowd plugin has reached it first public release. If you've built the plugin from source in the past, please read the installation instructions as the configuration model has changed dramatically. Configruation is now done through a configuration file in the sonatype-work/nexus/conf directory, rather than via Plexus. This will make it easier to upgrade in the future as well as support a UI-based configuration (vote for NEXUS-1410 if this is important for you).
Documentation can be found here:
https://docs.sonatype.org/display/Nexus/Nexus+Crowd+Plugin.
Thanks to everyone who helped me out over the past few months.
Justin Edelson
VP, Applications & Platforms
MTV Networks Digital