Looking at the JRadiusServerImpl in 4.0, the constructor only takes the 
protocol and RadiusClientFactory (no 'number of retries’ property)

https://github.com/Jasig/cas/blob/v4.0.0/cas-server-support-radius/src/main/java/org/jasig/cas/adaptors/radius/JRadiusServerImpl.java#L72

So apparently the wiki documentation is wrong.

Try adjusting the bean definition for radiusServer1 accordingly.

Cheers,
D.

On May 28, 2014, at 9:43 AM, Reuben Popp <[email protected]> wrote:

> Good morning to all,
> 
> Quick question for the group.  I'm attempting to deploy CAS with radius 
> authentication and am running into a little trouble. 
> 
> The environment consists of the following:
> 
> Redhat ES 6.5
> Cas Server 4.0
> Apache Tomcat 7
> Java 1.6
> 
> I renamed the cas-server-uber-webapp-4.0.0.war to cas.war and moved it to 
> /opt/apache-tomcat/webapps and made sure it had the appropriate permissions, 
> after which I restarted tomcat to ensure that the war file was deployed.
> 
> I then modified <tomcat root>/cas/WEB-INF/deployerConfigContext.xml as per 
> the documentation for cas server 4 in the wiki:
> 
> https://wiki.jasig.org/display/CASUM/RADIUS
> 
> Restarting tomcat, I see the following errors in the catalina.out log:
> 
> 2014-05-28 08:18:09,911 ERROR [org.springframework.web.context.ContextLoader] 
> - <Context initialization failed>
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'centralAuthenticationService' defined in ServletContext resource 
> [/WEB-INF/spring-configuration/applicationContext.xml]: Cannot resolve 
> reference to bean 'authenticationManager' while setting constructor argument; 
> nested exception is org.springframework.beans.factory.BeanCreationException: 
> Error creating bean with name 'authenticationManager' defined in 
> ServletContext resource [/WEB-INF/deployerConfigContext.xml]: Cannot resolve 
> reference to bean 'radiusAuthenticationHandler' while setting constructor 
> argument; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'radiusAuthenticationHandler' defined in ServletContext resource 
> [/WEB-INF/deployerConfigContext.xml]: Cannot resolve reference to bean 
> 'radiusServer1' while setting bean property 'servers' with key [0]; nested 
> exception is org.springframework.beans.factory.BeanCreationException: Error 
> creating bean with name 'radiusServer1' defined in ServletContext resource 
> [/WEB-INF/deployerConfigContext.xml]: Could not resolve matching constructor 
> (hint: specify index/type/name arguments for simple parameters to avoid type 
> ambiguities)
> 
> <snip>
> 
> Caused by: org.springframework.beans.factory.BeanCreationException: Error 
> creating bean with name 'authenticationManager' defined in ServletContext 
> resource [/WEB-INF/deployerConfigContext.xml]: Cannot resolve reference to 
> bean 'radiusAuthenticationHandler' while setting constructor argument; nested 
> exception is org.springframework.beans.factory.BeanCreationException: Error 
> creating bean with name 'radiusAuthenticationHandler' defined in 
> ServletContext resource [/WEB-INF/deployerConfigContext.xml]: Cannot resolve 
> reference to bean 'radiusServer1' while setting bean property 'servers' with 
> key [0]; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'radiusServer1' defined in ServletContext resource 
> [/WEB-INF/deployerConfigContext.xml]: Could not resolve matching constructor 
> (hint: specify index/type/name arguments for simple parameters to avoid type 
> ambiguities)
> 
> <snip>
> 
> Caused by: org.springframework.beans.factory.BeanCreationException: Error 
> creating bean with name 'radiusAuthenticationHandler' defined in 
> ServletContext resource [/WEB-INF/deployerConfigContext.xml]: Cannot resolve 
> reference to bean 'radiusServer1' while setting bean property 'servers' with 
> key [0]; nested exception is 
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'radiusServer1' defined in ServletContext resource 
> [/WEB-INF/deployerConfigContext.xml]: Could not resolve matching constructor 
> (hint: specify index/type/name arguments for simple parameters to avoid type 
> ambiguities)
> 
> <snip>
> 
> Caused by: org.springframework.beans.factory.BeanCreationException: Error 
> creating bean with name 'radiusServer1' defined in ServletContext resource 
> [/WEB-INF/deployerConfigContext.xml]: Could not resolve matching constructor 
> (hint: specify index/type/name arguments for simple parameters to avoid type 
> ambiguities)
>  
> My deployerConfigContext.xml consists of the following [changes], the rest 
> was left as-is:
> 
> <bean id="authenticationManager" 
> class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">
>         <constructor-arg>
>             <map>
>                 <!--
>                    | IMPORTANT
>                    | Every handler requires a unique name.
>                    | If more than one instance of the same handler class is 
> configured, you must explicitly
>                    | set its name to something other than its default name 
> (typically the simple class name).
>                    -->
>                 <!--
>                 <entry key-ref="proxyAuthenticationHandler" 
> value-ref="proxyPrincipalResolver" />
>                 <entry key-ref="primaryAuthenticationHandler" 
> value-ref="primaryPrincipalResolver" />
>                 -->
>                 <entry key-ref="radiusAuthenticationHandler" 
> value-ref="primaryPrincipalResolver" />
>             </map>
>         </constructor-arg>
>         <property name="authenticationPolicy">
>             <bean 
> class="org.jasig.cas.authentication.AnyAuthenticationPolicy" />
>         </property>
>     </bean>
>  
> <!-- RAP 05.27.14 -->
>     <bean id="radiusAuthenticationHandler"
>         
> class="org.jasig.cas.adaptors.radius.authentication.handler.support.RadiusAuthenticationHandler">
>         <property
>                 name="servers">
>                 <list>
>                         <ref local="radiusServer1" />
>                         <ref local="radiusServer2" />
>                 </list>
>         </property>
>         <property
>                 name="failoverOnException"
>                 value="true" />
>     </bean>
>  
>     <bean id="radiusServer1"
>         class="org.jasig.cas.adaptors.radius.JRadiusServerImpl"
>         c:protocol="PAP"
>         c:clientFactory-ref="radiusClientFactory1"
>         c:retries="3" />
>  
>     <bean id="radiusServer2"
>         class="org.jasig.cas.adaptors.radius.JRadiusServerImpl"
>         c:protocol="PAP"
>         c:clientFactory-ref="radiusClientFactory2" />
>  
>     <bean id="radiusClientFactory1"
>         class="org.jasig.cas.adaptors.radius.RadiusClientFactory"
>         p:inetAddress="rad1.tld.org"
>         p:sharedSecret="secret"
>         p:authenticationPort="1812" />
>  
>     <bean id="radiusClientFactory2"
>         class="org.jasig.cas.adaptors.radius.RadiusClientFactory"
>         p:inetAddress="rad2.tld.org"
>         p:sharedSecret="secret"
>         p:authenticationPort="1812" />
>  
> <!-- END RAP changes -->
> 
> Can anyone tell me what I'm doing wrong here?
> 
> Thanks in advance
> Reuben A. Popp
> 
> 
> 
> 
> -- 
> You are currently subscribed to [email protected] as: 
> [email protected]
> To unsubscribe, change settings or access archives, see 
> http://www.ja-sig.org/wiki/display/JSG/cas-user


-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to