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