Author: taylor
Date: Thu Jul 25 22:27:34 2013
New Revision: 1507145
URL: http://svn.apache.org/r1507145
Log:
JS2-1286: example usage of configurations necessary for credential migration
use case
Added:
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi-atn.xml
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi.xml
Added:
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi-atn.xml
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi-atn.xml?rev=1507145&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi-atn.xml
(added)
+++
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi-atn.xml
Thu Jul 25 22:27:34 2013
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+ <!-- ************** Security SPI Handlers ************** -->
+
+ <!-- require a non-empty password -->
+ <bean id="org.apache.jetspeed.security.spi.CredentialPasswordValidator"
+
class="org.apache.jetspeed.security.spi.impl.DefaultCredentialPasswordValidator">
+ <meta key="j2:cat" value="default or security" />
+
+ <!-- UNCOMMENT TO TURN ON Regex-based password validation. The pattern
below gives:
+ * Must be at least 6 characters
+ * Must contain at least one one lower case letter, one upper case
letter, one digit and one special character
+ * Valid special characters are @#$%^&+=
+ <constructor-arg
index="1"><value><![CDATA[^.*(?=.{6,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$]]></value></constructor-arg>
+ -->
+ </bean>
+
+ <!-- MessageDigest encode passwords using SHA-1 DST: the old one
+ <bean id="org.apache.jetspeed.security.spi.CredentialPasswordEncoder"
+
class="org.apache.jetspeed.security.spi.impl.MessageDigestCredentialPasswordEncoder">
+ <meta key="j2:cat" value="default or security" />
+ <constructor-arg index="0">
+ <value>SHA-1</value>
+ </constructor-arg>
+ </bean>
+-->
+
+ <!-- Alternate Password Encoder with Jetspeed-1 algorithm -->
+ <!--
+ <bean id="org.apache.jetspeed.security.spi.CredentialPasswordEncoder"
+
class="org.apache.jetspeed.security.spi.impl.Jetspeed1CredentialPasswordEncoder">
+ <constructor-arg index="0"><value>SHA</value></constructor-arg>
+ <constructor-arg index="1"><value>base64</value></constructor-arg>
+ </bean>
+ -->
+ <!--
+ <bean id="org.apache.jetspeed.security.spi.PasswordCredentialProvider"
+
class="org.apache.jetspeed.security.spi.impl.DefaultPasswordCredentialProvider">
+ <meta key="j2:cat" value="default or security" />
+ <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.CredentialPasswordEncoder,org.apache.jetspeed.security.spi.CredentialPasswordEncoder"
+
class="org.apache.jetspeed.security.spi.impl.AlgorithmUpgradePBEPasswordService">
+ <constructor-arg index="0">
+ <!-- secret PBE key password -->
+ <value>secret</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>2013-07-13 12:50: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">
+ <meta key="j2:cat" value="default or security" />
+ <constructor-arg index="0">
+ <list>
+
+ <bean
class="org.apache.jetspeed.security.spi.impl.ValidatePasswordOnLoadInterceptor"
/>
+
+
+ <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">
+ <meta key="j2:cat" value="default or security" />
+ <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">
+ <meta key="j2:cat" value="default or security" />
+ <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">
+ <meta key="j2:cat" value="default or security" />
+ <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="add*">PROPAGATION_REQUIRED</prop>
+ <prop key="update*">PROPAGATION_REQUIRED</prop>
+ <prop key="remove*">PROPAGATION_REQUIRED</prop>
+ <prop key="*">PROPAGATION_SUPPORTS</prop>
+ </props>
+ </property>
+ </bean>-->
+</beans>
Added:
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi.xml
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi.xml?rev=1507145&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi.xml
(added)
+++
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/alternate/credentials/security-spi.xml
Thu Jul 25 22:27:34 2013
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+ <!-- ************** Security SPI Handlers ************** -->
+ <!-- Security SPI: CommonQueries -->
+
+ <bean
id="org.apache.jetspeed.security.spi.impl.JetspeedPrincipalLookupManagerFactory"
class="org.apache.jetspeed.security.spi.impl.JetspeedPrincipalLookupManagerFactory">
+ <meta key="j2:cat" value="default or security" />
+ <property name="mappings">
+ <map>
+ <entry key="default"><ref
bean="org.apache.jetspeed.security.spi.impl.JetspeedPrincipalLookupManagerDefault"/></entry>
+ <entry key="mysql"><ref
bean="org.apache.jetspeed.security.spi.impl.JetspeedPrincipalLookupManagerMySql"/></entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean
id="org.apache.jetspeed.security.spi.impl.JetspeedPrincipalLookupManagerDefault"
class="org.apache.jetspeed.security.spi.impl.JetspeedPrincipalLookupManagerDefault"
/>
+ <bean
id="org.apache.jetspeed.security.spi.impl.JetspeedPrincipalLookupManagerMySql"
class="org.apache.jetspeed.security.spi.impl.JetspeedPrincipalLookupManagerMySql"
/>
+
+ <bean
id="org.apache.jetspeed.security.spi.impl.JetspeedSecurityPersistenceManager"
+
class="org.apache.jetspeed.security.spi.impl.JetspeedSecurityPersistenceManager"
init-method="init">
+ <meta key="j2:cat" value="default or security" />
+ <constructor-arg index="0">
+ <value>JETSPEED-INF/ojb/security_repository.xml</value>
+ </constructor-arg>
+ <constructor-arg index="1">
+ <ref
bean="org.apache.jetspeed.security.spi.impl.JetspeedPrincipalLookupManagerFactory"/>
+ </constructor-arg>
+ </bean>
+
+ <bean
id="org.apache.jetspeed.security.spi.JetspeedSecurityPersistenceManager"
parent="baseTransactionProxy">
+ <meta key="j2:cat" value="default or security" />
+ <property name="proxyInterfaces">
+ <value>
+ org.apache.jetspeed.security.spi.JetspeedPermissionAccessManager,
+ org.apache.jetspeed.security.spi.JetspeedPermissionStorageManager,
+ org.apache.jetspeed.security.spi.JetspeedPrincipalAccessManager,
+
org.apache.jetspeed.security.spi.JetspeedPrincipalAssociationStorageManager,
+ org.apache.jetspeed.security.spi.JetspeedPrincipalStorageManager,
+ org.apache.jetspeed.security.spi.UserPasswordCredentialAccessManager,
+ org.apache.jetspeed.security.spi.UserPasswordCredentialStorageManager,
+ org.apache.jetspeed.security.spi.SecurityDomainStorageManager,
+ org.apache.jetspeed.security.spi.SecurityDomainAccessManager,
+ org.apache.jetspeed.security.spi.JetspeedDomainPrincipalAccessManager
+ </value>
+ </property>
+ <property name="target">
+ <ref
bean="org.apache.jetspeed.security.spi.impl.JetspeedSecurityPersistenceManager"
/>
+ </property>
+ <property name="transactionAttributes">
+ <props>
+ <prop key="add*">PROPAGATION_REQUIRED</prop>
+ <prop key="update*">PROPAGATION_REQUIRED</prop>
+ <prop key="grant*">PROPAGATION_REQUIRED</prop>
+ <prop key="remove*">PROPAGATION_REQUIRED</prop>
+ <prop key="revoke*">PROPAGATION_REQUIRED</prop>
+ <prop key="store*">PROPAGATION_REQUIRED</prop>
+ <prop key="getPasswordCredential*">PROPAGATION_REQUIRED</prop>
+ <prop key="*">PROPAGATION_SUPPORTS</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean
class="org.springframework.beans.factory.config.BeanReferenceFactoryBean">
+ <meta key="j2:cat" value="dbSecurity" />
+ <meta key="j2:alias"
value="org.apache.jetspeed.security.spi.JetspeedPrincipalStorageManager" />
+ <property name="targetBeanName"
value="org.apache.jetspeed.security.spi.JetspeedSecurityPersistenceManager" />
+ </bean>
+
+ <bean
class="org.springframework.beans.factory.config.BeanReferenceFactoryBean">
+ <meta key="j2:cat" value="dbSecurity" />
+ <meta key="j2:alias"
value="org.apache.jetspeed.security.spi.JetspeedPrincipalAssociationStorageManager"
/>
+ <property name="targetBeanName"
value="org.apache.jetspeed.security.spi.JetspeedSecurityPersistenceManager" />
+ </bean>
+
+ <bean
class="org.springframework.beans.factory.config.BeanReferenceFactoryBean">
+ <meta key="j2:cat" value="dbSecurity" />
+ <meta key="j2:alias"
value="org.apache.jetspeed.security.spi.JetspeedPermissionStorageManager" />
+ <property name="targetBeanName"
value="org.apache.jetspeed.security.spi.JetspeedSecurityPersistenceManager" />
+ </bean>
+
+ <bean
class="org.springframework.beans.factory.config.BeanReferenceFactoryBean">
+ <meta key="j2:cat" value="dbSecurity" />
+ <meta key="j2:alias"
value="org.apache.jetspeed.security.spi.UserPasswordCredentialStorageManager" />
+ <property name="targetBeanName"
value="org.apache.jetspeed.security.spi.JetspeedSecurityPersistenceManager" />
+ </bean>
+
+ <bean
class="org.springframework.beans.factory.config.BeanReferenceFactoryBean">
+ <meta key="j2:cat" value="dbSecurity or ldapSecurity" />
+ <meta key="j2:alias"
value="org.apache.jetspeed.security.spi.SecurityDomainStorageManager" />
+ <property name="targetBeanName"
value="org.apache.jetspeed.security.spi.JetspeedSecurityPersistenceManager" />
+ </bean>
+
+ <bean
class="org.springframework.beans.factory.config.BeanReferenceFactoryBean">
+ <meta key="j2:cat" value="dbSecurity or ldapSecurity" />
+ <meta key="j2:alias"
value="org.apache.jetspeed.security.spi.SecurityDomainAccessManager" />
+ <property name="targetBeanName"
value="org.apache.jetspeed.security.spi.JetspeedSecurityPersistenceManager" />
+ </bean>
+
+ <bean
id="org.apache.jetspeed.security.spi.impl.UserPasswordCredentialManagerImpl"
+
class="org.apache.jetspeed.security.spi.impl.UserPasswordCredentialManagerImpl">
+ <meta key="j2:cat" value="dbSecurity" />
+ <constructor-arg index="0"
ref="org.apache.jetspeed.security.spi.JetspeedSecurityPersistenceManager" />
+ <constructor-arg index="1"
ref="org.apache.jetspeed.security.spi.JetspeedSecurityPersistenceManager" />
+ <constructor-arg index="2"
ref="org.apache.jetspeed.security.spi.UserPasswordCredentialPolicyManager" />
+ </bean>
+
+ <bean id="org.apache.jetspeed.security.spi.UserPasswordCredentialManager"
parent="baseTransactionProxy">
+ <meta key="j2:cat" value="dbSecurity" />
+ <property name="proxyInterfaces">
+
<value>org.apache.jetspeed.security.spi.UserPasswordCredentialManager</value>
+ </property>
+ <property name="target">
+ <ref
bean="org.apache.jetspeed.security.spi.impl.UserPasswordCredentialManagerImpl"
/>
+ </property>
+ <property name="transactionAttributes">
+ <props>
+ <prop key="*">PROPAGATION_REQUIRED</prop>
+ </props>
+ </property>
+ </bean>
+
+ <bean
id="org.apache.jetspeed.security.spi.impl.UserPasswordCredentialPolicyManagerImpl"
+
class="org.apache.jetspeed.security.spi.impl.UserPasswordCredentialPolicyManagerImpl">
+ <meta key="j2:cat" value="default or security" />
+ <constructor-arg index="0"
ref="org.apache.jetspeed.security.CredentialPasswordEncoder" />
+ <constructor-arg index="1"
ref="org.apache.jetspeed.security.CredentialPasswordValidator" />
+ <constructor-arg index="2">
+ <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>
+
+ <bean
id="org.apache.jetspeed.security.spi.UserPasswordCredentialPolicyManager"
parent="baseTransactionProxy">
+ <meta key="j2:cat" value="default or security" />
+ <property name="proxyInterfaces">
+
<value>org.apache.jetspeed.security.spi.UserPasswordCredentialPolicyManager</value>
+ </property>
+ <property name="target">
+ <ref
bean="org.apache.jetspeed.security.spi.impl.UserPasswordCredentialPolicyManagerImpl"
/>
+ </property>
+ <property name="transactionAttributes">
+ <props>
+ <prop key="authenticate*">PROPAGATION_REQUIRED</prop>
+ <prop key="on*">PROPAGATION_REQUIRED</prop>
+ </props>
+ </property>
+ </bean>
+
+ <!--
+ <bean id="org.apache.jetspeed.security.CredentialPasswordEncoder"
+
class="org.apache.jetspeed.security.spi.impl.MessageDigestCredentialPasswordEncoder">
+ <meta key="j2:cat" value="default or security" />
+ <constructor-arg index="0">
+ <value>SHA-1</value>
+ </constructor-arg>
+ </bean>
+-->
+
+ <bean id="org.apache.jetspeed.security.CredentialPasswordValidator"
+
class="org.apache.jetspeed.security.spi.impl.DefaultCredentialPasswordValidator">
+ <meta key="j2:cat" value="default or security" />
+ </bean>
+
+ <bean id="org.apache.jetspeed.security.spi.AuthorizationProvider"
+ class="org.apache.jetspeed.security.impl.AuthorizationProviderImpl">
+ <meta key="j2:cat" value="default or security or AuthorizationProvider" />
+ <constructor-arg index="0">
+ <ref bean="org.apache.jetspeed.security.impl.RdbmsPolicy" />
+ </constructor-arg>
+ <constructor-arg index="1">
+ <value>true</value>
+ </constructor-arg>
+ </bean>
+
+</beans>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]