continuum-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Venisse" <emmanuel.veni...@gmail.com>
Subject Re: ldap + continuum 1.2
Date Thu, 25 Sep 2008 13:30:52 GMT
Your config isn't correct. Changes you can do are:
In security.properties:
user.manager.impl=cached
ldap.bind.authenticator.enabled=true
redback.default.admin=gzegdzolka
redback.default.guest=guest
security.policy.password.expiration.enabled=false

ldap.config.hostname=your_ldap_host
ldap.config.port=389
ldap.config.base.dn=ou=people,dc=mobiteam,dc=com
ldap.config.context.factory=com.sun.jndi.ldap.LdapCtxFactory

ldap.config.mapper.attribute.email=email
ldap.config.mapper.attribute.fullname=givenName
#ldap.config.mapper.attribute.password=userPassword
ldap.config.mapper.attribute.user.id=cn
#ldap.config.mapper.attribute.user.base.dn=
ldap.config.mapper.attribute.user.object.class=inetOrgPerson
#ldap.config.mapper.attribute.user.filter=(attributeName=value)

In your application.xml:
- comment the component
org.codehaus.plexus.redback.policy.DefaultUserSecurityPolicy
- remove the configuration part
of org.codehaus.plexus.redback.common.ldap.LdapUserMapper

Note that you use 'guest' as the guest user. Actually, this user ('guest')
must be an entry in your LDAP, in a future version, we'll remove it to use a
'virtual' user.

Emmanuel

2008/9/25 Bartłomiej Radziszewski <br@debian.linux.pl>

> after migration from 1.1 to 1.2 i have problem with LDAP integration
> (according to
> http://continuum.apache.org/docs/1.2/administrator_guides/security/ldap.html
> ):
>
> 317302 [btpool0-2] ERROR
> com.opensymphony.webwork.dispatcher.DispatcherUtils - Could not find action
> Caught Exception while registering Interceptor class
> redbackEnvironmentCheckInterceptor - interceptor -
> file:/home/dev/continuum/apache-continuum-1.2/apps/continuum/WEB-INF/classes/xwork-security.xml:31:87
>       at
> com.opensymphony.xwork.ObjectFactory.buildInterceptor(ObjectFactory.java:171)
>       at
> com.opensymphony.xwork.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:56)
>       at
> com.opensymphony.xwork.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:701)
>       at
> com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:568)
>       at
> com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:581)
>       at
> com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:602)
>       at
> com.opensymphony.xwork.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:204)
>       at
> com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadConfigurationFile(XmlConfigurationProvider.java:675)
>       at
> com.opensymphony.xwork.config.providers.XmlConfigurationProvider.loadConfigurationFile(XmlConfigurationProvider.java:678)
>       at
> com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:91)
>       at
> com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:86)
>       at
> com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
>       at
> com.opensymphony.xwork.DefaultActionProxy.<init>(DefaultActionProxy.java:60)
>       at
> com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:46)
>       at
> com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:264)
>       at
> com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
>       at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
>       at
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
>       at
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
>       at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
>       at
> com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88)
>       at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
>       at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>       at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>       at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
>       at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>       at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>       at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>       at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.handle(Server.java:324)
>       at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>       at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>       at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>       at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
> Caused by: java.lang.NullPointerException
>       at
> org.codehaus.plexus.redback.xwork.checks.security.GuestUserEnvironmentCheck.validateEnvironment(GuestUserEnvironmentCheck.java:100)
>       at
> org.codehaus.plexus.redback.xwork.interceptor.EnvironmentCheckInterceptor.init(EnvironmentCheckInterceptor.java:77)
>       at
> com.opensymphony.xwork.ObjectFactory.buildInterceptor(ObjectFactory.java:151)
>       ... 37 more
>
>
> ./conf/security.properties:
>
> user.manager.impl=ldap
> redback.default.admin=gzegdzolka
> redback.default.guest=guest
> security.policy.password.expiration.enabled=false
> user.manager.impl=cached
> ldap.bind.authenticator.enabled=true
>
>
>
>
> ./apps/continuum/WEB-INF/classes/META-INF/plexus/application.xml:
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <!--
>  ~ Licensed to the Apache Software Foundation (ASF) under one
>  ~ or more contributor license agreements.  See the NOTICE file
>  ~ distributed with this work for additional information
>  ~ regarding copyright ownership.  The ASF licenses this file
>  ~ to you under the Apache License, Version 2.0 (the
>  ~ "License"); you may not use this file except in compliance
>  ~ with the License.  You may obtain a copy of the License at
>  ~
>  ~   http://www.apache.org/licenses/LICENSE-2.0
>  ~
>  ~ Unless required by applicable law or agreed to in writing,
>  ~ software distributed under the License is distributed on an
>  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>  ~ KIND, either express or implied.  See the License for the
>  ~ specific language governing permissions and limitations
>  ~ under the License.
>  -->
> <plexus>
>  <components>
>   <component>
>     <role>org.codehaus.plexus.registry.Registry</role>
>
> <implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation>
>     <role-hint>commons-configuration</role-hint>
>     <configuration>
>       <properties>
>         <system/>
>         <jndi prefix="java:comp/env" config-optional="true"/>
>         <xml fileName="${appserver.base}/conf/shared.xml"
> config-optional="true"
>              config-name="org.apache.maven.shared.app.user"
> config-at="org.apache.maven.shared.app"
>              config-forceCreate="true"/>
>         <properties fileName="${appserver.base}/conf/security.properties"
> config-optional="true"
>                     config-at="org.codehaus.plexus.redback"/>
>         <!-- Defaults -->
>         <properties
> fileName="org/apache/maven/continuum/security.properties"
> config-at="org.codehaus.plexus.redback"/>
>       </properties>
>     </configuration>
>   </component>
>
>
>   <!--
>   | The mail notifier
>   |-->
>   <component>
>     <role>org.apache.maven.continuum.notification.Notifier</role>
>     <role-hint>mail</role-hint>
>
> <implementation>org.apache.maven.continuum.notification.mail.MailContinuumNotifier</implementation>
>     <requirements>
>       <requirement>
>         <role>org.codehaus.plexus.velocity.VelocityComponent</role>
>       </requirement>
>       <requirement>
>         <role>org.apache.continuum.dao.ProjectDao</role>
>       </requirement>
>       <requirement>
>         <role>org.apache.continuum.dao.BuildResultDao</role>
>       </requirement>
>       <requirement>
>         <role>org.codehaus.plexus.mailsender.MailSender</role>
>       </requirement>
>       <requirement>
>
> <role>org.apache.maven.continuum.configuration.ConfigurationService</role>
>       </requirement>
>       <requirement>
>         <role>org.apache.maven.continuum.Continuum</role>
>       </requirement>
>       <requirement>
>
> <role>org.apache.maven.continuum.reports.surefire.ReportTestSuiteGenerator</role>
>         <field-name>reportTestSuiteGenerator</field-name>
>         <role-hint>default</role-hint>
>       </requirement>
>     </requirements>
>     <configuration>
>       <from-mailbox></from-mailbox>
>       <from-name></from-name>
>       <timestamp-format>EEE d MMM yyyy HH:mm:ss Z</timestamp-format>
>       <!-- Customizable mail subject.  Use any combination of literal text,
> or state, project, or build attributes.
>         Examples:
>           "[continuum] BUILD ${state}: ${project.groupId} ${project.name}"
>             results in "[continuum] BUILD SUCCESSFUL: foo.bar Hello World"
>
>           "[continuum] BUILD ${state}: ${project.name} ${project.scmTag}"
>             results in "[continuum] BUILD SUCCESSFULL: Hello World
> Branch001"
>
>           "[continuum] BUILD ${state}: ${project.name} ${project.version}"
>             results in "[continuum] BUILD SUCCESSFUL: Hello World
> 2.1-SNAPSHOT"
>
>           "[continuum] BUILD ${state}: ${project.name}
> ${build.durationTime}"
>             results in "[continuum] BUILD SUCCESSFUL: Hello World 2 sec"
>
>           "[continuum] BUILD ${state}: ${project.name}, Build Def -
> ${build.buildDefinition.description}"
>             results in "[continuum] BUILD SUCCESSFUL: Hello World, Build
> Def - Nightly Test Build"
>        -->
>       <subject-format>[continuum] BUILD ${state}: ${
> project.projectGroup.name} - ${project.name} -
> ${build.buildDefinition.description}</subject-format>
>       <includeBuildResult>true</includeBuildResult>
>       <includeBuildSummary>true</includeBuildSummary>
>       <includeTestSummary>true</includeTestSummary>
>       <includeOutput>false</includeOutput>
>       <alwaysSend>false</alwaysSend>
>     </configuration>
>   </component>
>
>   <component>
>     <role>org.codehaus.plexus.notification.RecipientSource</role>
>
> <implementation>org.apache.maven.continuum.notification.ContinuumRecipientSource</implementation>
>     <configuration>
>       <!--
>       Setting this propery will make Continuum send all emails to
>       this address instead the address specified in the project
>       configuration
>       -->
>       <to-override></to-override>
>     </configuration>
>   </component>
>
>   <component>
>     <role>org.codehaus.plexus.mailsender.MailSender</role>
>
> <implementation>org.codehaus.plexus.mailsender.javamail.JndiJavamailMailSender</implementation>
>     <configuration>
>       <jndiSessionName>java:comp/env/mail/Session</jndiSessionName>
>     </configuration>
>   </component>
>
>   <!--
>   | The jabber notifier
>   |-->
>   <component>
>     <role>org.apache.maven.continuum.notification.Notifier</role>
>     <role-hint>jabber</role-hint>
>
> <implementation>org.apache.maven.continuum.notification.jabber.JabberContinuumNotifier</implementation>
>     <requirements>
>       <requirement>
>         <role>org.codehaus.plexus.jabber.JabberClient</role>
>       </requirement>
>       <requirement>
>
> <role>org.apache.maven.continuum.configuration.ConfigurationService</role>
>       </requirement>
>       <requirement>
>         <role>org.apache.continuum.dao.ProjectDao</role>
>       </requirement>
>       <requirement>
>         <role>org.apache.continuum.dao.BuildResultDao</role>
>       </requirement>
>     </requirements>
>     <configuration>
>       <alwaysSend>false</alwaysSend>
>       <!-- from-address/>
>       <from-password/>
>       <host/>
>       <port/>
>       <sslConnection>true</sslConnection -->
>     </configuration>
>   </component>
>
>   <component>
>     <role>org.codehaus.plexus.jabber.JabberClient</role>
>
> <implementation>org.codehaus.plexus.jabber.DefaultJabberClient</implementation>
>   </component>
>
>   <!--
>   | The MSN notifier
>   |-->
>   <component>
>     <role>org.apache.maven.continuum.notification.Notifier</role>
>     <role-hint>msn</role-hint>
>
> <implementation>org.apache.maven.continuum.notification.msn.MsnContinuumNotifier</implementation>
>     <requirements>
>       <requirement>
>         <role>org.codehaus.plexus.msn.MsnClient</role>
>       </requirement>
>       <requirement>
>
> <role>org.apache.maven.continuum.configuration.ConfigurationService</role>
>       </requirement>
>       <requirement>
>         <role>org.apache.continuum.dao.ProjectDao</role>
>       </requirement>
>       <requirement>
>         <role>org.apache.continuum.dao.BuildResultDao</role>
>       </requirement>
>     </requirements>
>     <configuration>
>       <alwaysSend>false</alwaysSend>
>       <!-- from-address/>
>       <from-password/ -->
>     </configuration>
>   </component>
>
>   <component>
>     <role>org.codehaus.plexus.msn.MsnClient</role>
>
> <implementation>org.codehaus.plexus.msn.DefaultMsnClient</implementation>
>   </component>
>
>   <!--
>   | Velocity component used by the mail notifier
>   |-->
>   <component>
>     <role>org.codehaus.plexus.velocity.VelocityComponent</role>
>
> <implementation>org.codehaus.plexus.velocity.DefaultVelocityComponent</implementation>
>     <configuration>
>       <properties>
>         <property>
>           <name>resource.loader</name>
>           <value>threadContext</value>
>         </property>
>         <property>
>           <name>threadContext.resource.loader.class</name>
>
> <value>org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader</value>
>         </property>
>         <property>
>           <name>velocimacro.library</name>
>
> <value>org/apache/maven/continuum/notification/mail/templates/common.vm</value>
>         </property>
>       </properties>
>     </configuration>
>   </component>
>
>   <component>
>
> <role>org.apache.maven.continuum.web.util.WorkingCopyContentGenerator</role>
>
> <implementation>org.apache.maven.continuum.web.util.WorkingCopyContentGenerator</implementation>
>   </component>
>
>   <component>
>     <role>org.apache.maven.continuum.utils.ContinuumUrlValidator</role>
>     <role-hint>continuumUrl</role-hint>
>
> <implementation>org.apache.maven.continuum.utils.ContinuumUrlValidator</implementation>
>     <configuration>
>       <allowedSchemes>
>         <allowedScheme>http</allowedScheme>
>         <allowedScheme>https</allowedScheme>
>         <allowedScheme>ftp</allowedScheme>
>         <!-- <allowedScheme>file</allowedScheme> -->
>       </allowedSchemes>
>     </configuration>
>   </component>
>
>   <component>
>     <role>org.codehaus.plexus.jdo.JdoFactory</role>
>     <role-hint>users</role-hint>
>
> <implementation>org.codehaus.plexus.jdo.DataSourceConfigurableJdoFactory</implementation>
>     <configuration>
>
>
> <connectionFactoryName>java:comp/env/jdbc/users</connectionFactoryName>
>
> <shutdownConnectionFactoryName>java:comp/env/jdbc/usersShutdown</shutdownConnectionFactoryName>
>
>       <!-- JPOX and JDO configuration -->
>
> <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
>       <otherProperties>
>         <property>
>           <name>org.jpox.autoCreateSchema</name>
>           <value>true</value>
>         </property>
>         <property>
>           <name>org.jpox.validateTables</name>
>           <value>false</value>
>         </property>
>         <property>
>           <name>org.jpox.validateConstraints</name>
>           <value>false</value>
>         </property>
>         <property>
>           <name>org.jpox.validateColumns</name>
>           <value>false</value>
>         </property>
>         <property>
>           <name>org.jpox.autoStartMechanism</name>
>           <value>None</value>
>         </property>
>         <property>
>           <name>org.jpox.transactionIsolation</name>
>           <value>READ_COMMITTED</value>
>         </property>
>         <property>
>           <name>org.jpox.poid.transactionIsolation</name>
>           <value>READ_COMMITTED</value>
>         </property>
>         <property>
>           <name>org.jpox.rdbms.dateTimezone</name>
>           <value>JDK_DEFAULT_TIMEZONE</value>
>         </property>
> <!--
>         <property>
>           <name>org.jpox.identifier.case</name>
>           <value>PreserveCase</value>
>         </property>
> -->
>       </otherProperties>
>     </configuration>
>   </component>
>
>   <component>
>     <role>org.codehaus.plexus.jdo.JdoFactory</role>
>
> <implementation>org.codehaus.plexus.jdo.DataSourceConfigurableJdoFactory</implementation>
>     <role-hint>continuum</role-hint>
>     <configuration>
>
> <connectionFactoryName>java:comp/env/jdbc/continuum</connectionFactoryName>
>
> <shutdownConnectionFactoryName>java:comp/env/jdbc/continuum_shutdown</shutdownConnectionFactoryName>
>
>
> <persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass>
>
>       <otherProperties>
>         <!-- uncomment this property for mssql support - CONTINUUM-697 -->
>         <!-- property>
>           <name>javax.jdo.option.Mapping</name>
>           <value>mssql</value>
>         </property -->
>         <property>
>           <name>org.jpox.autoCreateSchema</name>
>           <value>true</value>
>         </property>
>         <property>
>           <name>org.jpox.validateTables</name>
>           <value>false</value>
>         </property>
>         <property>
>           <name>org.jpox.validateColumns</name>
>           <value>false</value>
>         </property>
>         <property>
>           <name>org.jpox.validateConstraints</name>
>           <value>false</value>
>         </property>
>         <property>
>           <name>org.jpox.autoStartMechanism</name>
>           <value>None</value>
>         </property>
>         <property>
>           <name>org.jpox.transactionIsolation</name>
>           <value>READ_COMMITTED</value>
>         </property>
>         <property>
>           <name>org.jpox.poid.transactionIsolation</name>
>           <value>READ_COMMITTED</value>
>         </property>
>         <!-- this is required for some MySQL versions and configurations,
> see CONTINUUM-1113 -->
>         <property>
>           <name>org.jpox.rdbms.stringDefaultLength</name>
>           <value>255</value>
>         </property>
>         <property>
>           <name>org.jpox.autoCreateColumns</name>
>           <value>true</value>
>         </property>
>
> <!--
>         <property>
>           <name>org.jpox.identifier.case</name>
>           <value>PreserveCase</value>
>         </property>
> -->
>       </otherProperties>
>     </configuration>
>   </component>
>
>   <component>
>     <role>org.codehaus.plexus.scheduler.Scheduler</role>
>
> <implementation>org.codehaus.plexus.scheduler.DefaultScheduler</implementation>
>     <role-hint>default</role-hint>
>     <configuration>
>       <properties>
>         <property>
>           <name>org.quartz.scheduler.instanceName</name>
>           <value>continuumScheduler</value>
>         </property>
>         <property>
>           <name>org.quartz.threadPool.class</name>
>           <value>org.quartz.simpl.SimpleThreadPool</value>
>         </property>
>         <property>
>           <name>org.quartz.threadPool.threadCount</name>
>           <value>7</value>
>         </property>
>         <property>
>           <name>org.quartz.threadPool.threadPriority</name>
>           <value>4</value>
>         </property>
>         <property>
>           <name>org.quartz.jobStore.class</name>
>           <value>org.quartz.simpl.RAMJobStore</value>
>         </property>
>       </properties>
>     </configuration>
>   </component>
>
>   <!--
>    | Logger manager
>    -->
>   <component>
>     <role>org.codehaus.plexus.logging.LoggerManager</role>
>
> <implementation>org.codehaus.plexus.logging.slf4j.Slf4jLoggerManager</implementation>
>     <lifecycle-handler>basic</lifecycle-handler>
>   </component>
>
>   <!-- START SNIPPET: ldap -->
>   <!--
>      Ldap Authentication can be enabled by setting enabling these
> components and setting the following configuration options in your
> security.properties file
>
>      ============================================================
>      user.manager.impl=ldap
>      ldap.bind.authenticator.enabled=true
>      redback.default.admin=admin
>      redback.default.guest=guest
>      security.policy.password.expiration.enabled=false
>
>      ldap.config.hostname=ldap.hostname
>      ldap.config.port=389
>      ldap.config.base.dn=o=com
>      ldap.config.context.factory=com.sun.jndi.ldap.LdapCtxFactory
>      ldap.config.bind.dn=uid=myusername,o=com
>      ldap.config.password=s3cr3t
>      #ldap.config.authentication.method=
>      ============================================================
>
>      * ldap.config.hostname - The hostname of the ldap server
>      * ldap.config.port - The port of the ldap server
>      * ldap.config.base.dn - The baseDn of the ldap system
>      * ldap.config.context.factory - context factory for ldap connections
>      * ldap.config.bind.dn - the core user used for authentication the ldap
> server, must be able to perform the necessary searches, etc.
>      * ldap.config.password - password for the bindDn for the root ldap
> connection
>
>      until this process is better documented, the following is the document
> for configuration ldap with redback
>
>      http://redback.codehaus.org/integration/ldap.html
>   -->
>
>   <!--
>
>   this component manages the connection to the ldap server
>    -->
>
>   <component>
>
> <role>org.codehaus.plexus.redback.common.ldap.connection.LdapConnectionFactory</role>
>     <role-hint>configurable</role-hint>
>
> <implementation>org.codehaus.plexus.redback.common.ldap.connection.ConfigurableLdapConnectionFactory</implementation>
>     <requirements>
>       <requirement>
>
> <role>org.codehaus.plexus.redback.configuration.UserConfiguration</role>
>       </requirement>
>     </requirements>
>   </component>
>
>   <!--
>
>   this component manages the mapping of attributes in ldap to user
> information in redback. To configure the mapping, you can add the following
> properties in your security.properties
>
>      ============================================================
>      ldap.config.mapper.attribute.email=mail
>      ldap.config.mapper.attribute.fullname=givenName
>      ldap.config.mapper.attribute.password=userPassword
>      ldap.config.mapper.attribute.user.id=cn
>      ldap.config.mapper.attribute.user.base.dn=
>      ldap.config.mapper.attribute.user.object.class=inetOrgPerson
>      ldap.config.mapper.attribute.user.filter=(attributeName=value)
>      ============================================================
>
>
>    * email-attribute - The name of the attribute on a user that contains
> the email address
>    * full-name-attribute - The name of the attribute on a user that
> contains the users fullName
>    * password-attribute - The name of the attribute containing the users
> password, used for the authentiction using the user manager and not the ldap
> bind authenticator
>    * user-id-attribute - The name of the attribute containing the users
> userId, most commonly cn or sn.
>    * user-base-dn - The base dn that will be subtree searched for users.
>    * user-object-class - the objectClass used in the ldap server for
> indentifying users, most commonly inetOrgPerson.
>    -->
>
>   <component>
>     <role>org.codehaus.plexus.redback.common.ldap.UserMapper</role>
>     <role-hint>ldap</role-hint>
>
> <implementation>org.codehaus.plexus.redback.common.ldap.LdapUserMapper</implementation>
>     <configuration>
>       <email-attribute>email</email-attribute>
>       <full-name-attribute>givenName</full-name-attribute>
>       <password-attribute>userPassword</password-attribute>
>       <user-id-attribute>cn</user-id-attribute>
>       <user-base-dn>ou=people,dc=mobiteam,dc=com</user-base-dn>
>       <user-object-class>inetOrgPerson</user-object-class>
>     </configuration>
>     <requirements>
>       <requirement>
>
> <role>org.codehaus.plexus.redback.configuration.UserConfiguration</role>
>       </requirement>
>     </requirements>
>   </component>
>
>   <!--
>
>   If caching is desired to improve performance then make uncomment this and
> make sure the following configuration parameter is in the
> security.properties
>
>   user.manager.impl=cached
>   -->
>
>   <component>
>     <role>org.codehaus.plexus.redback.users.UserManager</role>
>     <role-hint>cached</role-hint>
>
> <implementation>org.codehaus.plexus.redback.users.cached.CachedUserManager</implementation>
>     <description>CachedUserManager</description>
>     <requirements>
>       <requirement>
>         <role>org.codehaus.plexus.redback.users.UserManager</role>
>         <role-hint>ldap</role-hint>
>         <field-name>userImpl</field-name>
>       </requirement>
>       <requirement>
>         <role>org.codehaus.plexus.ehcache.EhcacheComponent</role>
>         <role-hint>users</role-hint>
>         <field-name>usersCache</field-name>
>       </requirement>
>     </requirements>
>   </component>
>
>   <!--
>
>   if using the user manager authenticator to authenticate the user and not
> the ldap bind authenticator make sure
>   this definition has the correct password encoder
>
>   Note: you should probably just use the ldap bind authenticator which is
> enabled by putting
>
>   ldap.bind.authenticator.enabled=true
>
>   in the security.properties
>   -->
>
>   <component>
>     <role>org.codehaus.plexus.redback.policy.UserSecurityPolicy</role>
>     <role-hint>default</role-hint>
>
> <implementation>org.codehaus.plexus.redback.policy.DefaultUserSecurityPolicy</implementation>
>     <description>User Security Policy.</description>
>     <requirements>
>       <requirement>
>
> <role>org.codehaus.plexus.redback.configuration.UserConfiguration</role>
>         <field-name>config</field-name>
>       </requirement>
>       <requirement>
>         <role>org.codehaus.plexus.redback.policy.PasswordEncoder</role>
>         <role-hint>sha1</role-hint>
>         <field-name>passwordEncoder</field-name>
>       </requirement>
>       <requirement>
>
> <role>org.codehaus.plexus.redback.policy.UserValidationSettings</role>
>         <field-name>userValidationSettings</field-name>
>       </requirement>
>       <requirement>
>         <role>org.codehaus.plexus.redback.policy.CookieSettings</role>
>         <role-hint>rememberMe</role-hint>
>         <field-name>rememberMeCookieSettings</field-name>
>       </requirement>
>       <requirement>
>         <role>org.codehaus.plexus.redback.policy.CookieSettings</role>
>         <role-hint>signon</role-hint>
>         <field-name>signonCookieSettings</field-name>
>       </requirement>
>       <requirement>
>         <role>org.codehaus.plexus.redback.policy.PasswordRule</role>
>         <field-name>rules</field-name>
>       </requirement>
>     </requirements>
>   </component>
>   <!-- END SNIPPET: ldap -->
>  </components>
>
>  <lifecycle-handler-manager
> implementation="org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager">
>   <default-lifecycle-handler-id>plexus</default-lifecycle-handler-id>
>   <lifecycle-handlers>
>     <lifecycle-handler
> implementation="org.codehaus.plexus.personality.plexus.PlexusLifecycleHandler">
>       <id>plexus</id>
>       <name>Plexus Lifecycle Handler</name>
>       <begin-segment>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.LogEnablePhase"/>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.CompositionPhase"/>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.ContextualizePhase"/>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.AutoConfigurePhase"/>
>         <phase
> implementation="org.codehaus.plexus.registry.RegistryConfigurePhase"/>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.ServiceablePhase"/>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase"/>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.StartPhase"/>
>       </begin-segment>
>       <suspend-segment>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.SuspendPhase"/>
>       </suspend-segment>
>       <resume-segment>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.ResumePhase"/>
>       </resume-segment>
>       <end-segment>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.StopPhase"/>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.DisposePhase"/>
>         <phase
> implementation="org.codehaus.plexus.personality.plexus.lifecycle.phase.LogDisablePhase"/>
>       </end-segment>
>     </lifecycle-handler>
>   </lifecycle-handlers>
>  </lifecycle-handler-manager>
> </plexus>
>
>
> java:
> java version "1.5.0_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
> Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
>
>
>
>
> --
> Bartłomiej Radziszewski
> mobile: +48 509 561 540
> e-mail: br@debian.linux.pl
> JID: br@debian.linux.pl
> ICQ: #305569725
>
>
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message