You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Nicholas Himmel <ni...@gmail.com> on 2007/07/04 03:08:23 UTC

Two-way password encoding service

Hi list im trying to configure my jetspeed to have a Two-way password
encoding service
here's what i did. it worked the last time in js2.0 but now on js2.1 i've
encountered an error.

in my security-spi-atn.xml:


<beans>

  <!-- ************** Security SPI Handlers ************** -->

  <!-- require a non-empty password -->
  <bean id="org.apache.jetspeed.security.spi.CredentialPasswordValidator"
       class="
org.apache.jetspeed.security.spi.impl.DefaultCredentialPasswordValidator"/>

  <!-- MessageDigest encode passwords using SHA-1 -->
  <bean id="org.apache.jetspeed.security.spi.CredentialPasswordEncoder"
       class="
org.apache.jetspeed.security.spi.impl.MessageDigestCredentialPasswordEncoder
">
       <constructor-arg
index="0"><value>SHA-1</value></constructor-arg>
  </bean>

  <bean id="org.apache.jetspeed.security.spi.PasswordCredentialProvider"
       class="
org.apache.jetspeed.security.spi.impl.DefaultPasswordCredentialProvider">
       <constructor-arg index="0"><ref bean="
org.apache.jetspeed.security.spi.CredentialPasswordValidator"/></constructor-arg>

       <constructor-arg index="1"><ref bean="
org.apache.jetspeed.security.spi.CredentialPasswordEncoder"/></constructor-arg>

  </bean>

  <!-- A Two-way encoding password service which also implements
CredentialPasswordEncoder
         this Service can be used instead of for example the default
provided MessageDigestCredentialPasswordEncoder
  <bean id="org.apache.jetspeed.security.PasswordEncodingService"
        name="org.apache.jetspeed.security.spi.CredentialPasswordEncoder"
        class="org.apache.jetspeed.security.spi.impl.PBEPasswordService">
    <constructor-arg index="0">
      <!- secret PBE key password ->
      <value>********</value>
    </constructor-arg>
  </bean>
-->

 <!-- A Two-way encoding password service which also implements
CredentialPasswordEncoder
       Furthermore, this extension of the PBEPasswordService supports lazy
upgrading from an old CredentialPasswordEncoder
       like the default provided MessageDigestCredentialPasswordEncoder
  -->
  <bean id="org.apache.jetspeed.security.PasswordEncodingService"
        name="org.apache.jetspeed.security.spi.CredentialPasswordEncoder"
        class="
org.apache.jetspeed.security.spi.impl.AlgorithmUpgradePBEPasswordService">
    <constructor-arg index="0">
      <!-- secret PBE key password -->
      <value>admin12345</value>
    </constructor-arg>
    <constructor-arg index="1">
      <!-- old MessageDigestCredentialPasswordEncoder to be upgrading from,
using SHA-1 -->
      <bean class="
org.apache.jetspeed.security.spi.impl.MessageDigestCredentialPasswordEncoder
">
       <constructor-arg
index="0"><value>SHA-1</value></constructor-arg>
      </bean>
    </constructor-arg>
    <constructor-arg index="2">
      <!-- startPBEPasswordEncodingService: date before which old encoded
passwords need to be recoded (on authentication)
           (SimpleDateFormat) format: yyyy-MM-dd HH:mm:ss
      -->
      <value>2006-07-02 15:00:00</value>
    </constructor-arg>
  </bean>


  <!-- allow multiple InternalPasswordCredentialInterceptors to be used for
DefaultCredentialHandler -->
  <bean id="
org.apache.jetspeed.security.spi.InternalPasswordCredentialInterceptor"
       class="
org.apache.jetspeed.security.spi.impl.InternalPasswordCredentialInterceptorsProxy
">
       <constructor-arg index="0">
         <list>
           <!-- enforce an invalid preset password value in the persisent
store is required to be changed -->
           <bean class="
org.apache.jetspeed.security.spi.impl.ValidatePasswordOnLoadInterceptor"/>

           <!-- ensure preset cleartext passwords in the persistent store
will be encoded on first use -->
           <bean class="
org.apache.jetspeed.security.spi.impl.EncodePasswordOnFirstLoadInterceptor
"/>
         </list>
       </constructor-arg>
  </bean>

  <!-- Security SPI: CredentialHandler -->
  <bean id="org.apache.jetspeed.security.spi.CredentialHandler"
       class="org.apache.jetspeed.security.spi.impl.DefaultCredentialHandler
"
  >
       <constructor-arg index="0"><ref bean="
org.apache.jetspeed.security.spi.SecurityAccess"/></constructor-arg>
       <constructor-arg index="1"><ref bean="
org.apache.jetspeed.security.spi.PasswordCredentialProvider"/></constructor-arg>

       <constructor-arg index="2"><ref bean="
org.apache.jetspeed.security.spi.InternalPasswordCredentialInterceptor"/></constructor-arg>

  </bean>

  <!-- Security SPI: UserSecurityHandler -->
  <!-- The DefaultUSerSecurityHandler uses the raw SecurityAccessImpl so
that it
      may demarcate its own transactions -->
  <bean id="org.apache.jetspeed.security.spi.UserSecurityHandlerImpl"
      class="
org.apache.jetspeed.security.spi.impl.DefaultUserSecurityHandler"
  >
      <constructor-arg ><ref bean="
org.apache.jetspeed.security.spi.SecurityAccess"/></constructor-arg>
  </bean>

  <bean id="org.apache.jetspeed.security.spi.UserSecurityHandler"
parent="baseTransactionProxy"
  name="userSecurityHandler" >
  <property name="proxyInterfaces">
   <value>org.apache.jetspeed.security.spi.UserSecurityHandler</value>
  </property>
  <property name="target">
   <ref bean="org.apache.jetspeed.security.spi.UserSecurityHandlerImpl"/>
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="*">PROPAGATION_REQUIRED</prop>
   </props>
  </property>
   </bean>

</beans>
in jetspeed-services.xml:

<beans>

  <!-- Portlet Services  -->
  <bean id="PortalServices"
      class="org.apache.jetspeed.services.JetspeedPortletServices" >
      <constructor-arg>
       <map>
         <entry key="PortletRegistryComponent">
          <ref bean="
org.apache.jetspeed.components.portletregistry.PortletRegistry" />
         </entry>
         <entry key="SearchComponent">
          <ref bean="org.apache.jetspeed.search.SearchEngine"/>
         </entry>
         <entry key="PAM">
          <ref bean="PAM" />
         </entry>
         <entry key="UserManager">
           <ref bean="org.apache.jetspeed.security.UserManager"/>
         </entry>
         <entry key="PageManager">
           <ref bean="org.apache.jetspeed.page.PageManager"/>
         </entry>
         <entry key="RoleManager">
           <ref bean="org.apache.jetspeed.security.RoleManager"/>
         </entry>
         <entry key="GroupManager">
           <ref bean="org.apache.jetspeed.security.GroupManager"/>
         </entry>
         <entry key="Profiler">
          <ref bean="org.apache.jetspeed.profiler.Profiler"/>
         </entry>
         <entry key="SSO">
          <ref bean="org.apache.jetspeed.sso.SSOProvider"/>
         </entry>
         <entry key="EntityAccessor">
           <ref bean='
org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent'/>
         </entry>
         <entry key="WindowAccessor">
           <ref bean='
org.apache.jetspeed.container.window.PortletWindowAccessor'/>
         </entry>
          <!-- ApplicationServerManager currently only supported for Tomcat.
Comment out for others like JBoss -->
          <entry key="ApplicationServerManager">
            <ref bean="
org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager
"/>
          </entry>
          <entry key="PortletFactory">
            <ref bean="portletFactory"/>
          </entry>
          <entry key="DeploymentManager">
            <ref bean="deploymentManager"/>
          </entry>
          <entry key='IdGenerator'>
            <ref bean='IdGenerator'/>
          </entry>
          <entry key='Powertools'>
            <ref bean='Powertools'/>
          </entry>
          <entry key="HeaderResource">
            <ref bean="
org.apache.jetspeed.headerresource.HeaderResourceFactory"/>
          </entry>
    <entry key="TemplateLocator">
            <ref bean="TemplateLocator"/>
          </entry>
    <entry key="DecorationLocator">
            <ref bean="DecorationLocator"/>
          </entry>
    <entry key="DecorationFactory">
            <ref bean="DecorationFactory"/>
          </entry>
    <entry key="Desktop">
            <ref bean="JetspeedDesktop"/>
          </entry>
    <entry key="PermissionManager">
            <ref bean="org.apache.jetspeed.security.PermissionManager"/>
          </entry>
    <entry key="PortalStatistics">
            <ref bean="PortalStatistics"/>
          </entry>
    <entry key="PortalAdministration">
            <ref bean="PortalAdministration"/>
          </entry>
          <entry key="PreferencesProvider">
            <ref bean="org.apache.jetspeed.prefs.PreferencesProvider"/>
          </entry>
          <entry key="
org.apache.jetspeed.container.session.PortalSessionsManager">
            <bean class="
org.apache.jetspeed.container.session.PortalSessionsManagerImpl"/>
          </entry>
          <entry key="SecurityAccessController">
            <ref bean="org.apache.jetspeed.security.SecurityAccessController
"/>
          </entry>
          <entry key="PortletTrackingManager">
            <ref bean="org.apache.jetspeed.aggregator.PortletTrackingManager
"/>
          </entry>

<!-- first uncomment the below service bean in security-spi-atn.xml-->
         <entry key="PasswordEncodingService">
           <ref bean="org.apache.jetspeed.security.PasswordEncodingService"
/>
         </entry>

       </map>
      </constructor-arg>
  </bean>
</beans>
error:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Config
uration problem: Bean name '
org.apache.jetspeed.security.spi.CredentialPasswordE
ncoder' is already used in this file.
Offending resource: ServletContext resource
[/WEB-INF/assembly/security-spi-atn.
xml]
        at
org.springframework.beans.factory.parsing.FailFastProblemReporter.err
or(FailFastProblemReporter.java:57)
        at org.springframework.beans.factory.parsing.ReaderContext.error
(ReaderC
ontext.java:64)
        at org.springframework.beans.factory.parsing.ReaderContext.error
(ReaderC
ontext.java:55)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.ch
eckNameUniqueness(BeanDefinitionParserDelegate.java:452)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:418)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:390)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:165)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:142)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:89)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe
rBeanDefinitions(XmlBeanDefinitionReader.java:499)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
eanDefinitions(XmlBeanDefinitionReader.java:407)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:357)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:334)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
        at
org.springframework.web.context.support.XmlWebApplicationContext.load
BeanDefinitions(XmlWebApplicationContext.java:123)
        at
org.springframework.web.context.support.XmlWebApplicationContext.load
BeanDefinitions(XmlWebApplicationContext.java:91)
        at
org.springframework.context.support.AbstractRefreshableApplicationCon
text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
        at
org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:294)
        at
org.springframework.web.context.support.AbstractRefreshableWebApplica
tionContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
        at org.apache.jetspeed.components.SpringComponentManager.start
(SpringCom
ponentManager.java:248)
        at org.apache.jetspeed.engine.JetspeedEngine.start(
JetspeedEngine.java:1
14)
        at org.apache.jetspeed.engine.JetspeedServlet.init(
JetspeedServlet.java:
157)
        at org.apache.catalina.core.StandardWrapper.loadServlet
(StandardWrapper.
java:1139)
        at org.apache.catalina.core.StandardWrapper.load(
StandardWrapper.java:96
6)
        at org.apache.catalina.core.StandardContext.loadOnStartup
(StandardContex
t.java:3956)
        at org.apache.catalina.core.StandardContext.start(
StandardContext.java:4
230)
        at org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase
.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(
ContainerBase.java:74
0)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java
:544)

        at org.apache.catalina.startup.HostConfig.deployDescriptor(
HostConfig.ja
va:626)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(
HostConfig.j
ava:553)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
:488
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java
:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(
HostConfig.java
:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
(Lifecycl
eSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1022)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java
:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1014)

        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java
:443
)
        at org.apache.catalina.core.StandardService.start(
StandardService.java:4
48)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java
:700
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
FATAL: Jetspeed: init() failed:
org.apache.jetspeed.exception.JetspeedException: Jetspeed Initialization
excepti
on!
        at org.apache.jetspeed.engine.JetspeedEngine.start(
JetspeedEngine.java:1
31)
        at org.apache.jetspeed.engine.JetspeedServlet.init(
JetspeedServlet.java:
157)
        at org.apache.catalina.core.StandardWrapper.loadServlet
(StandardWrapper.
java:1139)
        at org.apache.catalina.core.StandardWrapper.load(
StandardWrapper.java:96
6)
        at org.apache.catalina.core.StandardContext.loadOnStartup
(StandardContex
t.java:3956)
        at org.apache.catalina.core.StandardContext.start(
StandardContext.java:4
230)
        at org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase
.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(
ContainerBase.java:74
0)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java
:544)

        at org.apache.catalina.startup.HostConfig.deployDescriptor(
HostConfig.ja
va:626)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(
HostConfig.j
ava:553)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
:488
)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java
:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(
HostConfig.java
:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
(Lifecycl
eSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1022)

        at org.apache.catalina.core.StandardHost.start(StandardHost.java
:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1014)

        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java
:443
)
        at org.apache.catalina.core.StandardService.start(
StandardService.java:4
48)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java
:700
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by:
org.springframework.beans.factory.parsing.BeanDefinitionParsingExcept
ion: Configuration problem: Bean name '
org.apache.jetspeed.security.spi.Credenti
alPasswordEncoder' is already used in this file.
Offending resource: ServletContext resource
[/WEB-INF/assembly/security-spi-atn.
xml]
        at
org.springframework.beans.factory.parsing.FailFastProblemReporter.err
or(FailFastProblemReporter.java:57)
        at org.springframework.beans.factory.parsing.ReaderContext.error
(ReaderC
ontext.java:64)
        at org.springframework.beans.factory.parsing.ReaderContext.error
(ReaderC
ontext.java:55)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.ch
eckNameUniqueness(BeanDefinitionParserDelegate.java:452)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:418)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:390)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:165)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:142)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:89)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe
rBeanDefinitions(XmlBeanDefinitionReader.java:499)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
eanDefinitions(XmlBeanDefinitionReader.java:407)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:357)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:334)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
        at
org.springframework.web.context.support.XmlWebApplicationContext.load
BeanDefinitions(XmlWebApplicationContext.java:123)
        at
org.springframework.web.context.support.XmlWebApplicationContext.load
BeanDefinitions(XmlWebApplicationContext.java:91)
        at
org.springframework.context.support.AbstractRefreshableApplicationCon
text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
        at
org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:294)
        at
org.springframework.web.context.support.AbstractRefreshableWebApplica
tionContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
        at org.apache.jetspeed.components.SpringComponentManager.start
(SpringCom
ponentManager.java:248)
        at org.apache.jetspeed.engine.JetspeedEngine.start(
JetspeedEngine.java:1
14)
        ... 27 more
i hope somebody can help.. thanks a lot..

-nicholas

Re: Two-way password encoding service

Posted by Ate Douma <at...@douma.nu>.
The error message from Spring clearly indicates what's the problem here:
   Configuration problem: Bean name 'org.apache.jetspeed.security.spi.CredentialPasswordEncoder' is already used in this file.

You have both org.apache.jetspeed.security.spi.impl.MessageDigestCredentialPasswordEncoder and 
org.apache.jetspeed.security.spi.impl.AlgorithmUpgradePBEPasswordService configured as "org.apache.jetspeed.security.spi.CredentialPasswordEncoder".

Ate

Nicholas Himmel wrote:
> Hi list im trying to configure my jetspeed to have a Two-way password
> encoding service
> here's what i did. it worked the last time in js2.0 but now on js2.1 i've
> encountered an error.
> 
> in my security-spi-atn.xml:
> 
> 
> <beans>
> 
>  <!-- ************** Security SPI Handlers ************** -->
> 
>  <!-- require a non-empty password -->
>  <bean id="org.apache.jetspeed.security.spi.CredentialPasswordValidator"
>       class="
> org.apache.jetspeed.security.spi.impl.DefaultCredentialPasswordValidator"/>
> 
>  <!-- MessageDigest encode passwords using SHA-1 -->
>  <bean id="org.apache.jetspeed.security.spi.CredentialPasswordEncoder"
>       class="
> org.apache.jetspeed.security.spi.impl.MessageDigestCredentialPasswordEncoder 
> 
> ">
>       <constructor-arg
> index="0"><value>SHA-1</value></constructor-arg>
>  </bean>
> 
>  <bean id="org.apache.jetspeed.security.spi.PasswordCredentialProvider"
>       class="
> org.apache.jetspeed.security.spi.impl.DefaultPasswordCredentialProvider">
>       <constructor-arg index="0"><ref bean="
> org.apache.jetspeed.security.spi.CredentialPasswordValidator"/></constructor-arg> 
> 
> 
>       <constructor-arg index="1"><ref bean="
> org.apache.jetspeed.security.spi.CredentialPasswordEncoder"/></constructor-arg> 
> 
> 
>  </bean>
> 
>  <!-- A Two-way encoding password service which also implements
> CredentialPasswordEncoder
>         this Service can be used instead of for example the default
> provided MessageDigestCredentialPasswordEncoder
>  <bean id="org.apache.jetspeed.security.PasswordEncodingService"
>        name="org.apache.jetspeed.security.spi.CredentialPasswordEncoder"
>        class="org.apache.jetspeed.security.spi.impl.PBEPasswordService">
>    <constructor-arg index="0">
>      <!- secret PBE key password ->
>      <value>********</value>
>    </constructor-arg>
>  </bean>
> -->
> 
> <!-- A Two-way encoding password service which also implements
> CredentialPasswordEncoder
>       Furthermore, this extension of the PBEPasswordService supports lazy
> upgrading from an old CredentialPasswordEncoder
>       like the default provided MessageDigestCredentialPasswordEncoder
>  -->
>  <bean id="org.apache.jetspeed.security.PasswordEncodingService"
>        name="org.apache.jetspeed.security.spi.CredentialPasswordEncoder"
>        class="
> org.apache.jetspeed.security.spi.impl.AlgorithmUpgradePBEPasswordService">
>    <constructor-arg index="0">
>      <!-- secret PBE key password -->
>      <value>admin12345</value>
>    </constructor-arg>
>    <constructor-arg index="1">
>      <!-- old MessageDigestCredentialPasswordEncoder to be upgrading from,
> using SHA-1 -->
>      <bean class="
> org.apache.jetspeed.security.spi.impl.MessageDigestCredentialPasswordEncoder 
> 
> ">
>       <constructor-arg
> index="0"><value>SHA-1</value></constructor-arg>
>      </bean>
>    </constructor-arg>
>    <constructor-arg index="2">
>      <!-- startPBEPasswordEncodingService: date before which old encoded
> passwords need to be recoded (on authentication)
>           (SimpleDateFormat) format: yyyy-MM-dd HH:mm:ss
>      -->
>      <value>2006-07-02 15:00:00</value>
>    </constructor-arg>
>  </bean>
> 
> 
>  <!-- allow multiple InternalPasswordCredentialInterceptors to be used for
> DefaultCredentialHandler -->
>  <bean id="
> org.apache.jetspeed.security.spi.InternalPasswordCredentialInterceptor"
>       class="
> org.apache.jetspeed.security.spi.impl.InternalPasswordCredentialInterceptorsProxy 
> 
> ">
>       <constructor-arg index="0">
>         <list>
>           <!-- enforce an invalid preset password value in the persisent
> store is required to be changed -->
>           <bean class="
> org.apache.jetspeed.security.spi.impl.ValidatePasswordOnLoadInterceptor"/>
> 
>           <!-- ensure preset cleartext passwords in the persistent store
> will be encoded on first use -->
>           <bean class="
> org.apache.jetspeed.security.spi.impl.EncodePasswordOnFirstLoadInterceptor
> "/>
>         </list>
>       </constructor-arg>
>  </bean>
> 
>  <!-- Security SPI: CredentialHandler -->
>  <bean id="org.apache.jetspeed.security.spi.CredentialHandler"
>       class="org.apache.jetspeed.security.spi.impl.DefaultCredentialHandler
> "
>  >
>       <constructor-arg index="0"><ref bean="
> org.apache.jetspeed.security.spi.SecurityAccess"/></constructor-arg>
>       <constructor-arg index="1"><ref bean="
> org.apache.jetspeed.security.spi.PasswordCredentialProvider"/></constructor-arg> 
> 
> 
>       <constructor-arg index="2"><ref bean="
> org.apache.jetspeed.security.spi.InternalPasswordCredentialInterceptor"/></constructor-arg> 
> 
> 
>  </bean>
> 
>  <!-- Security SPI: UserSecurityHandler -->
>  <!-- The DefaultUSerSecurityHandler uses the raw SecurityAccessImpl so
> that it
>      may demarcate its own transactions -->
>  <bean id="org.apache.jetspeed.security.spi.UserSecurityHandlerImpl"
>      class="
> org.apache.jetspeed.security.spi.impl.DefaultUserSecurityHandler"
>  >
>      <constructor-arg ><ref bean="
> org.apache.jetspeed.security.spi.SecurityAccess"/></constructor-arg>
>  </bean>
> 
>  <bean id="org.apache.jetspeed.security.spi.UserSecurityHandler"
> parent="baseTransactionProxy"
>  name="userSecurityHandler" >
>  <property name="proxyInterfaces">
>   <value>org.apache.jetspeed.security.spi.UserSecurityHandler</value>
>  </property>
>  <property name="target">
>   <ref bean="org.apache.jetspeed.security.spi.UserSecurityHandlerImpl"/>
>  </property>
>  <property name="transactionAttributes">
>   <props>
>    <prop key="*">PROPAGATION_REQUIRED</prop>
>   </props>
>  </property>
>   </bean>
> 
> </beans>
> in jetspeed-services.xml:
> 
> <beans>
> 
>  <!-- Portlet Services  -->
>  <bean id="PortalServices"
>      class="org.apache.jetspeed.services.JetspeedPortletServices" >
>      <constructor-arg>
>       <map>
>         <entry key="PortletRegistryComponent">
>          <ref bean="
> org.apache.jetspeed.components.portletregistry.PortletRegistry" />
>         </entry>
>         <entry key="SearchComponent">
>          <ref bean="org.apache.jetspeed.search.SearchEngine"/>
>         </entry>
>         <entry key="PAM">
>          <ref bean="PAM" />
>         </entry>
>         <entry key="UserManager">
>           <ref bean="org.apache.jetspeed.security.UserManager"/>
>         </entry>
>         <entry key="PageManager">
>           <ref bean="org.apache.jetspeed.page.PageManager"/>
>         </entry>
>         <entry key="RoleManager">
>           <ref bean="org.apache.jetspeed.security.RoleManager"/>
>         </entry>
>         <entry key="GroupManager">
>           <ref bean="org.apache.jetspeed.security.GroupManager"/>
>         </entry>
>         <entry key="Profiler">
>          <ref bean="org.apache.jetspeed.profiler.Profiler"/>
>         </entry>
>         <entry key="SSO">
>          <ref bean="org.apache.jetspeed.sso.SSOProvider"/>
>         </entry>
>         <entry key="EntityAccessor">
>           <ref bean='
> org.apache.jetspeed.components.portletentity.PortletEntityAccessComponent'/> 
> 
>         </entry>
>         <entry key="WindowAccessor">
>           <ref bean='
> org.apache.jetspeed.container.window.PortletWindowAccessor'/>
>         </entry>
>          <!-- ApplicationServerManager currently only supported for Tomcat.
> Comment out for others like JBoss -->
>          <entry key="ApplicationServerManager">
>            <ref bean="
> org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager 
> 
> "/>
>          </entry>
>          <entry key="PortletFactory">
>            <ref bean="portletFactory"/>
>          </entry>
>          <entry key="DeploymentManager">
>            <ref bean="deploymentManager"/>
>          </entry>
>          <entry key='IdGenerator'>
>            <ref bean='IdGenerator'/>
>          </entry>
>          <entry key='Powertools'>
>            <ref bean='Powertools'/>
>          </entry>
>          <entry key="HeaderResource">
>            <ref bean="
> org.apache.jetspeed.headerresource.HeaderResourceFactory"/>
>          </entry>
>    <entry key="TemplateLocator">
>            <ref bean="TemplateLocator"/>
>          </entry>
>    <entry key="DecorationLocator">
>            <ref bean="DecorationLocator"/>
>          </entry>
>    <entry key="DecorationFactory">
>            <ref bean="DecorationFactory"/>
>          </entry>
>    <entry key="Desktop">
>            <ref bean="JetspeedDesktop"/>
>          </entry>
>    <entry key="PermissionManager">
>            <ref bean="org.apache.jetspeed.security.PermissionManager"/>
>          </entry>
>    <entry key="PortalStatistics">
>            <ref bean="PortalStatistics"/>
>          </entry>
>    <entry key="PortalAdministration">
>            <ref bean="PortalAdministration"/>
>          </entry>
>          <entry key="PreferencesProvider">
>            <ref bean="org.apache.jetspeed.prefs.PreferencesProvider"/>
>          </entry>
>          <entry key="
> org.apache.jetspeed.container.session.PortalSessionsManager">
>            <bean class="
> org.apache.jetspeed.container.session.PortalSessionsManagerImpl"/>
>          </entry>
>          <entry key="SecurityAccessController">
>            <ref bean="org.apache.jetspeed.security.SecurityAccessController
> "/>
>          </entry>
>          <entry key="PortletTrackingManager">
>            <ref bean="org.apache.jetspeed.aggregator.PortletTrackingManager
> "/>
>          </entry>
> 
> <!-- first uncomment the below service bean in security-spi-atn.xml-->
>         <entry key="PasswordEncodingService">
>           <ref bean="org.apache.jetspeed.security.PasswordEncodingService"
> />
>         </entry>
> 
>       </map>
>      </constructor-arg>
>  </bean>
> </beans>
> error:
> 
> org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
> Config
> uration problem: Bean name '
> org.apache.jetspeed.security.spi.CredentialPasswordE
> ncoder' is already used in this file.
> Offending resource: ServletContext resource
> [/WEB-INF/assembly/security-spi-atn.
> xml]
>        at
> org.springframework.beans.factory.parsing.FailFastProblemReporter.err
> or(FailFastProblemReporter.java:57)
>        at org.springframework.beans.factory.parsing.ReaderContext.error
> (ReaderC
> ontext.java:64)
>        at org.springframework.beans.factory.parsing.ReaderContext.error
> (ReaderC
> ontext.java:55)
>        at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.ch
> eckNameUniqueness(BeanDefinitionParserDelegate.java:452)
>        at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
> rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:418)
>        at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
> rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:390)
>        at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
> ader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:165)
>        at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
> ader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:142)
>        at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
> ader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:89)
>        at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe
> rBeanDefinitions(XmlBeanDefinitionReader.java:499)
>        at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
> eanDefinitions(XmlBeanDefinitionReader.java:407)
>        at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
> nDefinitions(XmlBeanDefinitionReader.java:357)
>        at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
> nDefinitions(XmlBeanDefinitionReader.java:334)
>        at
> org.springframework.beans.factory.support.AbstractBeanDefinitionReade
> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
>        at
> org.springframework.beans.factory.support.AbstractBeanDefinitionReade
> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
>        at
> org.springframework.web.context.support.XmlWebApplicationContext.load
> BeanDefinitions(XmlWebApplicationContext.java:123)
>        at
> org.springframework.web.context.support.XmlWebApplicationContext.load
> BeanDefinitions(XmlWebApplicationContext.java:91)
>        at
> org.springframework.context.support.AbstractRefreshableApplicationCon
> text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
>        at
> org.springframework.context.support.AbstractApplicationContext.refres
> h(AbstractApplicationContext.java:294)
>        at
> org.springframework.web.context.support.AbstractRefreshableWebApplica
> tionContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>        at org.apache.jetspeed.components.SpringComponentManager.start
> (SpringCom
> ponentManager.java:248)
>        at org.apache.jetspeed.engine.JetspeedEngine.start(
> JetspeedEngine.java:1
> 14)
>        at org.apache.jetspeed.engine.JetspeedServlet.init(
> JetspeedServlet.java:
> 157)
>        at org.apache.catalina.core.StandardWrapper.loadServlet
> (StandardWrapper.
> java:1139)
>        at org.apache.catalina.core.StandardWrapper.load(
> StandardWrapper.java:96
> 6)
>        at org.apache.catalina.core.StandardContext.loadOnStartup
> (StandardContex
> t.java:3956)
>        at org.apache.catalina.core.StandardContext.start(
> StandardContext.java:4
> 230)
>        at org.apache.catalina.core.ContainerBase.addChildInternal
> (ContainerBase
> .java:760)
>        at org.apache.catalina.core.ContainerBase.addChild(
> ContainerBase.java:74
> 0)
>        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java
> :544)
> 
>        at org.apache.catalina.startup.HostConfig.deployDescriptor(
> HostConfig.ja
> va:626)
>        at org.apache.catalina.startup.HostConfig.deployDescriptors(
> HostConfig.j
> ava:553)
>        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
> :488
> )
>        at org.apache.catalina.startup.HostConfig.start(HostConfig.java
> :1138)
>        at org.apache.catalina.startup.HostConfig.lifecycleEvent(
> HostConfig.java
> :311)
>        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
> (Lifecycl
> eSupport.java:120)
>        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> :1022)
> 
>        at org.apache.catalina.core.StandardHost.start(StandardHost.java
> :736)
>        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> :1014)
> 
>        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java
> :443
> )
>        at org.apache.catalina.core.StandardService.start(
> StandardService.java:4
> 48)
>        at org.apache.catalina.core.StandardServer.start(StandardServer.java
> :700
> )
>        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>        at java.lang.reflect.Method.invoke(Unknown Source)
>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> FATAL: Jetspeed: init() failed:
> org.apache.jetspeed.exception.JetspeedException: Jetspeed Initialization
> excepti
> on!
>        at org.apache.jetspeed.engine.JetspeedEngine.start(
> JetspeedEngine.java:1
> 31)
>        at org.apache.jetspeed.engine.JetspeedServlet.init(
> JetspeedServlet.java:
> 157)
>        at org.apache.catalina.core.StandardWrapper.loadServlet
> (StandardWrapper.
> java:1139)
>        at org.apache.catalina.core.StandardWrapper.load(
> StandardWrapper.java:96
> 6)
>        at org.apache.catalina.core.StandardContext.loadOnStartup
> (StandardContex
> t.java:3956)
>        at org.apache.catalina.core.StandardContext.start(
> StandardContext.java:4
> 230)
>        at org.apache.catalina.core.ContainerBase.addChildInternal
> (ContainerBase
> .java:760)
>        at org.apache.catalina.core.ContainerBase.addChild(
> ContainerBase.java:74
> 0)
>        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java
> :544)
> 
>        at org.apache.catalina.startup.HostConfig.deployDescriptor(
> HostConfig.ja
> va:626)
>        at org.apache.catalina.startup.HostConfig.deployDescriptors(
> HostConfig.j
> ava:553)
>        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
> :488
> )
>        at org.apache.catalina.startup.HostConfig.start(HostConfig.java
> :1138)
>        at org.apache.catalina.startup.HostConfig.lifecycleEvent(
> HostConfig.java
> :311)
>        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
> (Lifecycl
> eSupport.java:120)
>        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> :1022)
> 
>        at org.apache.catalina.core.StandardHost.start(StandardHost.java
> :736)
>        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
> :1014)
> 
>        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java
> :443
> )
>        at org.apache.catalina.core.StandardService.start(
> StandardService.java:4
> 48)
>        at org.apache.catalina.core.StandardServer.start(StandardServer.java
> :700
> )
>        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>        at java.lang.reflect.Method.invoke(Unknown Source)
>        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
> Caused by:
> org.springframework.beans.factory.parsing.BeanDefinitionParsingExcept
> ion: Configuration problem: Bean name '
> org.apache.jetspeed.security.spi.Credenti
> alPasswordEncoder' is already used in this file.
> Offending resource: ServletContext resource
> [/WEB-INF/assembly/security-spi-atn.
> xml]
>        at
> org.springframework.beans.factory.parsing.FailFastProblemReporter.err
> or(FailFastProblemReporter.java:57)
>        at org.springframework.beans.factory.parsing.ReaderContext.error
> (ReaderC
> ontext.java:64)
>        at org.springframework.beans.factory.parsing.ReaderContext.error
> (ReaderC
> ontext.java:55)
>        at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.ch
> eckNameUniqueness(BeanDefinitionParserDelegate.java:452)
>        at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
> rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:418)
>        at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
> rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:390)
>        at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
> ader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:165)
>        at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
> ader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:142)
>        at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
> ader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:89)
>        at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe
> rBeanDefinitions(XmlBeanDefinitionReader.java:499)
>        at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
> eanDefinitions(XmlBeanDefinitionReader.java:407)
>        at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
> nDefinitions(XmlBeanDefinitionReader.java:357)
>        at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
> nDefinitions(XmlBeanDefinitionReader.java:334)
>        at
> org.springframework.beans.factory.support.AbstractBeanDefinitionReade
> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
>        at
> org.springframework.beans.factory.support.AbstractBeanDefinitionReade
> r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
>        at
> org.springframework.web.context.support.XmlWebApplicationContext.load
> BeanDefinitions(XmlWebApplicationContext.java:123)
>        at
> org.springframework.web.context.support.XmlWebApplicationContext.load
> BeanDefinitions(XmlWebApplicationContext.java:91)
>        at
> org.springframework.context.support.AbstractRefreshableApplicationCon
> text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
>        at
> org.springframework.context.support.AbstractApplicationContext.refres
> h(AbstractApplicationContext.java:294)
>        at
> org.springframework.web.context.support.AbstractRefreshableWebApplica
> tionContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>        at org.apache.jetspeed.components.SpringComponentManager.start
> (SpringCom
> ponentManager.java:248)
>        at org.apache.jetspeed.engine.JetspeedEngine.start(
> JetspeedEngine.java:1
> 14)
>        ... 27 more
> i hope somebody can help.. thanks a lot..
> 
> -nicholas
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org