[jboss-user] [JBoss Portal] - Re: JBoss Portal 2.6.4 Integration with JA SIG CAS 3.1.1

draggy do-not-reply at jboss.com
Tue Apr 22 00:17:22 EDT 2008


  | <depends
  |          optional-attribute-name="StateConverter"
  |          proxy-type="attribute">portal:service=StateConverter,type=Producer</depends>
  |    </mbean>
  | 
  |    <!-- Register the state portlet invoker on the federating portlet invoker -->
  |    <mbean
  |       code="org.jboss.portal.portlet.federation.impl.PortletInvokerRegistrationService"
  |       name="portal:service=PortletInvokerRegistration,id=local"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <attribute name="Id">local</attribute>
  |       <depends
  |          optional-attribute-name="PortletInvoker"
  |          proxy-type="attribute">portal:service=PortletInvoker,type=Producer</depends>
  |       <depends
  |          optional-attribute-name="FederatingPortletInvoker"
  |          proxy-type="attribute">portal:service=PortletInvoker,type=Federating</depends>
  |    </mbean>
  | 
  |    <!-- The classic response handler -->
  |    <mbean
  |       code="org.jboss.portal.core.controller.classic.ClassicResponseHandler"
  |       name="portal:service=ResponseHandler,type=Classic"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |    </mbean>
  | 
  |    <!-- The ajax response handler -->
  |    <mbean
  |       code="org.jboss.portal.core.controller.ajax.AjaxResponseHandler"
  |       name="portal:service=ResponseHandler,type=Ajax"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="PageService"
  |          proxy-type="attribute">portal:service=PageService</depends>
  |       <depends
  |          optional-attribute-name="PortalObjectContainer"
  |          proxy-type="attribute">portal:container=PortalObject</depends>
  |    </mbean>
  | 
  |    <!-- The response handler selector -->
  |    <mbean
  |       code="org.jboss.portal.core.controller.handler.ResponseHandlerSelector"
  |       name="portal:service=ResponseHandler,type=Selector"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="ClassicResponseHandler"
  |          proxy-type="attribute">portal:service=ResponseHandler,type=Classic</depends>
  |       <depends
  |          optional-attribute-name="AjaxResponseHandler"
  |          proxy-type="attribute">portal:service=ResponseHandler,type=Ajax</depends>
  |    </mbean>
  | 
  |    <!-- -->
  |    <mbean
  |       code="org.jboss.portal.core.model.portal.control.page.DefaultPageControlPolicy"
  |       name="portal:service=ControlPolicy,type=Page"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="PortalObjectContainer"
  |          proxy-type="attribute">portal:container=PortalObject</depends>
  |    </mbean>
  |    <mbean
  |       code="org.jboss.portal.core.model.portal.control.portal.DefaultPortalControlPolicy"
  |       name="portal:service=ControlPolicy,type=Portal"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="PortalObjectContainer"
  |          proxy-type="attribute">portal:container=PortalObject</depends>
  |    </mbean>
  | 
  |    <!-- The controller -->
  |    <mbean
  |       code="org.jboss.portal.core.controller.Controller"
  |       name="portal:service=Controller"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="PageService"
  |          proxy-type="attribute">portal:service=PageService</depends>
  |       <depends
  |          optional-attribute-name="CommandFactory"
  |          proxy-type="attribute">portal:commandFactory=DefaultPortal</depends>
  |       <depends
  |          optional-attribute-name="URLFactory"
  |          proxy-type="attribute">portal:urlFactory=Delegating</depends>
  |       <depends
  |          optional-attribute-name="StackFactory"
  |          proxy-type="attribute">portal:service=InterceptorStackFactory,type=Command</depends>
  |       <depends
  |          optional-attribute-name="PortalObjectContainer"
  |          proxy-type="attribute">portal:container=PortalObject</depends>
  |       <depends
  |          optional-attribute-name="InstanceContainer"
  |          proxy-type="attribute">portal:container=Instance</depends>
  |       <depends
  |          optional-attribute-name="PortalAuthorizationManagerFactory"
  |          proxy-type="attribute">portal:service=PortalAuthorizationManagerFactory</depends>
  |       <depends
  |          optional-attribute-name="CustomizationManager"
  |          proxy-type="attribute">portal:service=CustomizationManager</depends>
  |       <depends
  |          optional-attribute-name="ContentRendererRegistry"
  |          proxy-type="attribute">portal:service=ContentProviderRegistry</depends>
  |       <depends
  |          optional-attribute-name="ResponseHandler"
  |          proxy-type="attribute">portal:service=ResponseHandler,type=Selector</depends>
  |       <depends
  |          optional-attribute-name="PageControlPolicy"
  |          proxy-type="attribute">portal:service=ControlPolicy,type=Page</depends>
  |    </mbean>
  | 
  |    <!-- The controller factory -->
  |    <mbean
  |       code="org.jboss.portal.server.impl.RequestControllerFactoryImpl"
  |       name="portal:service=ControllerFactory"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="Controller"
  |          proxy-type="attribute">portal:service=Controller</depends>
  |    </mbean>
  | 
  |    <!-- -->
  |    <mbean
  |       code="org.jboss.portal.server.impl.ServerImpl"
  |       name="portal:service=Server"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="Config"
  |          proxy-type="attribute">portal:service=ServerConfig</depends>
  |       <depends
  |          optional-attribute-name="ServletContainerFactory"
  |          proxy-type="attribute">portal:service=ServletContainerFactory</depends>
  |    </mbean>
  | 
  |    <!-- -->
  |    <mbean
  |       code="org.jboss.portal.server.deployment.jboss.ServerDeployer"
  |       name="portal:deployer=PortalWebApp">
  |       <depends>jboss.system:service=MainDeployer</depends>
  |       <depends>portal:container=PortalObject</depends>
  |       <depends>portal:container=Instance</depends>
  |       <depends
  |          optional-attribute-name="PortalServer"
  |          proxy-type="attribute">portal:service=Server</depends>
  |    </mbean>
  | 
  |    <!-- Portal object deployment factory -->
  |    <!--
  |       | Uncomment in cluster mode : have the deployment of objects run as a clustered singleton
  |       
  |       <mbean
  |       code="org.jboss.portal.jems.as.system.LifecycleInvoker"
  |       name="portal:service=Controller,target=ObjectDeploymentFactory"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends>jboss.ha:service=HASingletonDeployer,type=Barrier</depends>
  |       <depends>jboss:service=${jboss.partition.name:DefaultPartition}</depends>
  |       <depends>portal:container=PortalObject</depends>
  |       <attribute name="Target">portal:deploymentFactory=Object</attribute>
  |       <attribute name="OnStart">registerFactory</attribute>
  |       <attribute name="OnStop">unregisterFactory</attribute>
  |       </mbean>
  |    
  |    -->
  |    <mbean
  |       code="org.jboss.portal.core.deployment.jboss.ObjectDeploymentFactory"
  |       name="portal:deploymentFactory=Object"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="Deployer"
  |          proxy-type="attribute">portal:deployer=PortalWebApp</depends>
  |       <depends
  |          optional-attribute-name="PortalObjectContainer"
  |          proxy-type="attribute">portal:container=PortalObject</depends>
  |       <depends
  |          optional-attribute-name="ContentProviderRegistry"
  |          proxy-type="attribute">portal:service=ContentProviderRegistry</depends>
  |       <depends
  |          optional-attribute-name="PortalObjectEntityResolver"
  |          proxy-type="attribute">portal:service=EntityResolver</depends>
  |       <attribute name="SetupLocation">conf/data/default-object.xml</attribute>
  |       <!-- Set to false in clustered mode, otherwise set to true -->
  |       <attribute name="RegistrationControlledByService">true</attribute>
  |    </mbean>
  | 
  |    <!--  -->
  |    <!--
  |       | Uncomment in cluster mode : have the creation of instances run as a clustered singleton
  |       
  |       <mbean
  |       code="org.jboss.portal.jems.as.system.LifecycleInvoker"
  |       name="portal:service=Controller,target=PortletAppDeploymentFactory"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends>jboss.ha:service=HASingletonDeployer,type=Barrier</depends>
  |       <depends>jboss:service=${jboss.partition.name:DefaultPartition}</depends>
  |       <depends>portal:container=PortalObject</depends>
  |       <attribute name="Target">portal:deploymentFactory=PortletApp</attribute>
  |       <attribute name="OnStart">enableCreateInstances</attribute>
  |       <attribute name="OnStop">disableCreateInstances</attribute>
  |       </mbean>
  |    
  |    -->
  |    <mbean
  |       code="org.jboss.portal.core.deployment.jboss.PortletAppDeploymentFactory"
  |       name="portal:deploymentFactory=PortletApp"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <!-- 
  |       <depends>jboss.ha:service=HASingletonDeployer</depends>
  |        -->
  |       <depends>portal:service=PortletInvokerRegistration,id=local</depends>
  |       <depends
  |          optional-attribute-name="Deployer"
  |          proxy-type="attribute">portal:deployer=PortalWebApp</depends>
  |       <depends
  |          optional-attribute-name="WebAppRegistry"
  |          proxy-type="attribute">portal:service=WebAppRegistry</depends>
  |       <depends
  |          optional-attribute-name="Config"
  |          proxy-type="attribute">portal:service=ServerConfig</depends>
  |       <depends
  |          optional-attribute-name="PortletSecurityService"
  |          proxy-type="attribute">portal:service=PortletSecurityService</depends>
  |       <depends
  |          optional-attribute-name="InstanceContainer"
  |          proxy-type="attribute">portal:container=Instance</depends>
  |       <depends
  |          optional-attribute-name="JBossPortletEntityResolver"
  |          proxy-type="attribute">portal:service=EntityResolver</depends>
  |       <depends
  |          optional-attribute-name="PortalObjectEntityResolver"
  |          proxy-type="attribute">portal:service=EntityResolver</depends>
  |       <depends
  |          optional-attribute-name="PortletInstancesEntityResolver"
  |          proxy-type="attribute">portal:service=EntityResolver</depends>
  |       <attribute name="StandardJBossApplicationMetaDataLocation">conf/standardjboss-portlet.xml</attribute>
  |       <attribute name="PortletAPIFactoryClassName">org.jboss.portlet.JBossAPIFactory</attribute>
  |       <attribute
  |          name="PortletInfoFactoryClassName">org.jboss.portal.core.impl.portlet.info.CorePortletInfoFactory</attribute>
  |       <!-- Set to false in clustered mode, otherwise set to true -->
  |       <attribute name="CreateInstances">true</attribute>
  |    </mbean>
  |    <mbean
  |       code="org.jboss.portal.theme.deployment.jboss.LayoutDeploymentFactory"
  |       name="portal:deploymentFactory=Layout"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="Deployer"
  |          proxy-type="attribute">portal:deployer=PortalWebApp</depends>
  |       <depends
  |          optional-attribute-name="LayoutService"
  |          proxy-type="attribute">portal:service=LayoutService</depends>
  |    </mbean>
  |    <mbean
  |       code="org.jboss.portal.theme.deployment.jboss.LayoutFeaturesDeploymentFactory"
  |       name="portal:deploymentFactory=LayoutFeatures"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="Deployer"
  |          proxy-type="attribute">portal:deployer=PortalWebApp</depends>
  |       <depends
  |          optional-attribute-name="LayoutService"
  |          proxy-type="attribute">portal:service=LayoutService</depends>
  |    </mbean>
  |    <mbean
  |       code="org.jboss.portal.theme.deployment.jboss.ThemeDeploymentFactory"
  |       name="portal:deploymentFactory=Theme"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="Deployer"
  |          proxy-type="attribute">portal:deployer=PortalWebApp</depends>
  |       <depends
  |          optional-attribute-name="ThemeService"
  |          proxy-type="attribute">portal:service=ThemeService</depends>
  |    </mbean>
  |    <mbean
  |       code="org.jboss.portal.server.deployment.WebAppAdapter"
  |       name="portal:deployer=Adapter"
  |       xmbean-dd=""
  |       xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |       <xmbean/>
  |       <depends
  |          optional-attribute-name="InterceptedDeployer">jboss.web:service=WebServer</depends>
  |       <depends
  |          optional-attribute-name="Deployer"
  |          proxy-type="attribute">portal:deployer=PortalWebApp</depends>
  |       <depends
  |          optional-attribute-name="JBossAppEntityResolver"
  |          proxy-type="attribute">portal:service=EntityResolver</depends>
  |    </mbean>
  |   
  |   <!-- CAS -->
  |   <mbean
  |     code="org.jboss.portal.identity.sso.cas.CASAuthenticationService"
  |     name="portal:service=Module,type=CASAuthenticationService"
  |     xmbean-dd=""
  |     xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
  |     <xmbean/>
  |     <depends>portal:service=Module,type=IdentityServiceController</depends>
  |     <attribute name="HavingRole"></attribute>
  |   </mbean>
  | </server>
  | 

$JBOSS_HOME/server/default/deploy/cas.war/WEB-INF/deployerConfigContext.xml


  | <?xml version="1.0" encoding="UTF-8"?>
  | <!--
  | 	| deployerConfigContext.xml centralizes into one file some of the declarative configuration that
  | 	| all CAS deployers will need to modify.
  | 	|
  | 	| This file declares some of the Spring-managed JavaBeans that make up a CAS deployment.  
  | 	| The beans declared in this file are instantiated at context initialization time by the Spring 
  | 	| ContextLoaderListener declared in web.xml.  It finds this file because this
  | 	| file is among those declared in the context parameter "contextConfigLocation".
  | 	|
  | 	| By far the most common change you will need to make in this file is to change the last bean
  | 	| declaration to replace the default SimpleTestUsernamePasswordAuthenticationHandler with
  | 	| one implementing your approach for authenticating usernames and passwords.
  | 	+-->
  | <beans xmlns="http://www.springframework.org/schema/beans"
  |        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |        xmlns:p="http://www.springframework.org/schema/p"
  |        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
  | 	<!--
  | 		| This bean declares our AuthenticationManager.  The CentralAuthenticationService service bean
  | 		| declared in applicationContext.xml picks up this AuthenticationManager by reference to its id, 
  | 		| "authenticationManager".  Most deployers will be able to use the default AuthenticationManager
  | 		| implementation and so do not need to change the class of this bean.  We include the whole
  | 		| AuthenticationManager here in the userConfigContext.xml so that you can see the things you will
  | 		| need to change in context.
  | 		+-->
  |   <bean id="authenticationManager"
  | 		class="org.jasig.cas.authentication.AuthenticationManagerImpl">
  |     <!--
  | 			| This is the List of CredentialToPrincipalResolvers that identify what Principal is trying to authenticate.
  | 			| The AuthenticationManagerImpl considers them in order, finding a CredentialToPrincipalResolver which 
  | 			| supports the presented credentials.
  | 			|
  | 			| AuthenticationManagerImpl uses these resolvers for two purposes.  First, it uses them to identify the Principal
  | 			| attempting to authenticate to CAS /login .  In the default configuration, it is the DefaultCredentialsToPrincipalResolver
  | 			| that fills this role.  If you are using some other kind of credentials than UsernamePasswordCredentials, you will need to replace
  | 			| DefaultCredentialsToPrincipalResolver with a CredentialsToPrincipalResolver that supports the credentials you are
  | 			| using.
  | 			|
  | 			| Second, AuthenticationManagerImpl uses these resolvers to identify a service requesting a proxy granting ticket. 
  | 			| In the default configuration, it is the HttpBasedServiceCredentialsToPrincipalResolver that serves this purpose. 
  | 			| You will need to change this list if you are identifying services by something more or other than their callback URL.
  | 			+-->
  |     <property name="credentialsToPrincipalResolvers">
  |       <list>
  |         <!--
  | 					| UsernamePasswordCredentialsToPrincipalResolver supports the UsernamePasswordCredentials that we use for /login 
  | 					| by default and produces SimplePrincipal instances conveying the username from the credentials.
  | 					| 
  | 					| If you've changed your LoginFormAction to use credentials other than UsernamePasswordCredentials then you will also
  | 					| need to change this bean declaration (or add additional declarations) to declare a CredentialsToPrincipalResolver that supports the
  | 					| Credentials you are using.
  | 					+-->
  |         <bean
  | 					class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver" />
  |         <!--
  | 					| HttpBasedServiceCredentialsToPrincipalResolver supports HttpBasedCredentials.  It supports the CAS 2.0 approach of
  | 					| authenticating services by SSL callback, extracting the callback URL from the Credentials and representing it as a
  | 					| SimpleService identified by that callback URL.
  | 					|
  | 					| If you are representing services by something more or other than an HTTPS URL whereat they are able to
  | 					| receive a proxy callback, you will need to change this bean declaration (or add additional declarations).
  | 					+-->
  |         <bean
  | 					class="org.jasig.cas.authentication.principal.HttpBasedServiceCredentialsToPrincipalResolver" />
  |       </list>
  |     </property>
  | 
  |     <!--
  | 			| Whereas CredentialsToPrincipalResolvers identify who it is some Credentials might authenticate, 
  | 			| AuthenticationHandlers actually authenticate credentials.  Here we declare the AuthenticationHandlers that
  | 			| authenticate the Principals that the CredentialsToPrincipalResolvers identified.  CAS will try these handlers in turn
  | 			| until it finds one that both supports the Credentials presented and succeeds in authenticating.
  | 			+-->
  |     <property name="authenticationHandlers">
  |       <list>
  |         <!--
  | 					| This is the authentication handler that authenticates services by means of callback via SSL, thereby validating
  | 					| a server side SSL certificate.
  | 					+-->
  |         <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
  |           <property
  |             name="httpClient"
  |             ref="httpClient" />
  |         </bean>
  |         <!--
  | 					| This is the authentication handler declaration that every CAS deployer will need to change before deploying CAS 
  | 					| into production.  The default SimpleTestUsernamePasswordAuthenticationHandler authenticates UsernamePasswordCredentials
  | 					| where the username equals the password.  You will need to replace this with an AuthenticationHandler that implements your
  | 					| local authentication strategy.  You might accomplish this by coding a new such handler and declaring
  | 					| edu.someschool.its.cas.MySpecialHandler here, or you might use one of the handlers provided in the adaptors modules.
  | 					+-->
  |         <!--<bean
  | 					class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" /> n-->
  |         <bean
  |           class="org.jboss.portal.identity.sso.cas.CASAuthenticationHandler" />
  |       </list>
  |     </property>
  |   </bean>
  | 
  | 
  | 	<!--
  | 	This bean defines the security roles for the Services Management application.  Simple deployments can use the in-memory version.
  | 	More robust deployments will want to use another option, such as the Jdbc version.
  | 	
  | 	The name of this should remain "userDetailsService" in order for Acegi to find it. 
  | 	
  | 	To use this, you should add an entry similar to the following between the two value tags:
  | 	battags=notused,ROLE_ADMIN
  | 	
  | 	where battags is the username you want to grant access to.  You can put one entry per line.
  | 	 -->	
  | 	<bean id="userDetailsService" class="org.acegisecurity.userdetails.memory.InMemoryDaoImpl">
  | 		<property name="userMap">
  | 			<value>
  | 			
  | 		    </value>
  | 		</property>
  | 	</bean> 
  | 	
  | 	<!-- 
  | 	Bean that defines the attributes that a service may return.  This example uses the Stub/Mock version.  A real implementation
  | 	may go against a database or LDAP server.  The id should remain "attributeRepository" though.
  | 	 -->
  | 	<bean id="attributeRepository"
  | 		class="org.jasig.services.persondir.support.StubPersonAttributeDao">
  | 		<property name="backingMap">
  | 			<map>
  | 				<entry key="uid" value="uid" />
  | 				<entry key="eduPersonAffiliation" value="eduPersonAffiliation" /> 
  | 				<entry key="groupMembership" value="groupMembership" />
  | 			</map>
  | 		</property>
  | 	</bean>
  | 	
  | 	<!-- 
  | 	Sample, in-memory data store for the ServiceRegistry. A real implementation
  | 	would probably want to replace this with the JPA-backed ServiceRegistry DAO
  | 	The name of this bean should remain "serviceRegistryDao".
  | 	 -->
  | 	<bean
  | 		id="serviceRegistryDao"
  | 		class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl" />
  | </beans>
  | 

I hope someone can lent a helping hand or guide me.

Thank you

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4145667#4145667

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4145667



More information about the jboss-user mailing list