Zach,
It looks to me like you have a slight error in your Spring XML
configuration here.
<bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">
<property name="contextSource" value="contextSource" />
</bean>
What this says is "Hey, Spring, there's a property named
"contextSource", please set it to the value "contextSource", like so:
BindLdapAuthenticationHandler handler = new
BindLdapAuthenticationHandler();
handler.setContextSource("contextSource");
This doesn't work for the reason one might expect: the
setContextSource() method takes an argument of type ContextSource, not
an argument of type String. That's what this error message is trying
to say:
"java.lang.IllegalArgumentException: Cannot convert value of type
[java.lang.String] to required type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource] for
property 'contextSource': no matching editors or conversion strategy
found"
You've defined a bean *named* contextSource soon following in the
configuration. This property declaration needs to *reference* that
bean.
<property name="contextSource">
<ref bean="contextSource"/>
</property>
Andrew
Andrew Petro
Unicon, Inc. = A JA-SIG commercial affiliate offering services,
support, and training for open source software in education.
On Jan 11, 2008, at 12:08 PM, Zach Seifts wrote:
Adam,
I tried adding "https://" to the url of my ad server and it's still
giving me the same error message. I'm wondering if its not able to
locate BindLdapAuthenticationHandler or something of that nature;
the dependency is in cas-server-webapp/pom.xml.
Cheers
Zach
Zach Seifts
Central Piedmont Community College
704.330.6988
[EMAIL PROTECTED]
Adam Rybicki wrote:
Zach,
That needs to be a full URL. Also, since you have SSL enabled for
accessing LDAP, I think that your URL should start with ldaps://
rather than ldap://. If you are using the default port number, 389
for ldap and 636 for ldaps, you shouldn't have to specify the port
number in the URL.
Adam
Zach Seifts wrote:
Hey everyone,
I'm having some trouble trying to setup a cas3 server which
connects to MS-AD with LDAP (running on etch's tomcat). I've been
following the LDAP tutorial on the ja-sig wiki and after
everything is configured the way it says in the tutorial, I
compile and deploy the war file to tomcat and it won't start up.
The logs tell me i have errors in my deployerConfigContext.xml
which leads me to think my something in the contextSource bean
isn't configured correctly. I don't have "ldap://" in front of the
server name in the urls property, do I need that? Any insight
would be helpful.
Cheers
Zach
Logs:
2008-01-10 10:40:37,494 ERROR
[org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/
cas-server-webapp-3.1.1]] - <Exception starting filter Acegi
Filter Chain Proxy>
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'centralAuthenticationService' defined in
ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot
resolve reference to bean 'authenticationManager' while setting
bean property 'authenticationManager'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'authenticationManager' defined in
ServletContext resource [/WEB-INF/deployerConfigContext.xml]:
Cannot create inner bean
'org
.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler#1416de4' of
type [org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler]
while setting bean property 'authenticationHandlers' with key [1];
nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name
'org
.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler#1416de4'
defined in ServletContext resource
[/W
EB-INF/deployerConfigContext.xml]: Initialization of bean failed;
nested exception is
org.springframework.beans.TypeMismatchException: Failed to convert
property value of type [java.lang.String] to required type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource]
for property 'contextSource'; nested exception is
java.lang.IllegalArgumentException: Cannot convert value of type
[java.lang.String] to required
type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource]
for property 'contextSource': no matching editors or conversion
strategy found
Caused by:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'authenticationManager' defined in
ServletContext resource [/WEB-INF/deployerConfigContext.xml]:
Cannot create inner bean
'org
.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler#1416de4' of
type [org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler]
while setting bean property 'authenticationHandlers' with key [1];
nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name
'org
.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler#1416de4'
defined in ServletContext resource [/WEB-INF/
deployerConfigContext.xml]: Initialization of bean failed; nested
exception is org.springframework.beans.TypeMismatchException:
Failed to convert property value of type [java.lang.String] to
required type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource]
for property 'contextSource'; nested
exc
eption is java.lang.IllegalArgumentException: Cannot convert value
of type [java.lang.String] to required type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource]
for property 'contextSource': no matching editors or con version
strategy found
Caused by:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name
'org
.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler#1416de4'
defined in ServletContext resource [/WEB-INF/
deployerConfigContext.xml]: Initialization of bean failed; nested
exception is org.springframework.beans.TypeMismatchException:
Failed to convert property value of type [java.lang.String] to
required type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource]
for property 'contextSource'; nested exception is
java.lang.IllegalArgumentException: Cannot convert value of type
[java.lang.String] to required type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource]
for property 'contextSource': no matching editors or conversion
strategy found
Caused by:
org.springframework.beans.TypeMismatchException: Failed to convert
property value of type [java.lang.String] to required type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource]
forproperty 'contextSource'; nested exception is
java.lang.IllegalArgumentException: Cannot convert value of type
[java.lang.String] to required type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource]
for property 'contextSource': no matching editors or conversion
strategy found
Caused by:
java.lang.IllegalArgumentException: Cannot convert value of type
[java.lang.String] to required type
[org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource]
for property 'contextSource': no matching editors or conversion
strategy found
deployerConfigContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<bean id="authenticationManager"
class="org.jasig.cas.authentication.AuthenticationManagerImpl">
<property name="credentialsToPrincipalResolvers">
<list>
<bean
class
=
"org
.jasig
.cas
.authentication
.principal.UsernamePasswordCredentialsToPrincipalResolver" />
<bean
class
=
"org
.jasig
.cas
.authentication
.principal.HttpBasedServiceCredentialsToPrincipalResolver" />
</list>
</property>
<property name="authenticationHandlers">
<list>
<bean
class
=
"org
.jasig
.cas
.authentication
.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient" />
<bean
class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">
<property name="filter" value="uid=%u" />
<property name="searchBase"
value="cn=XXXXX,dc=XXXX,dc=XXXX" />
<property name="contextSource"
value="contextSource" />
</bean>
</list>
</property>
</bean>
<bean id="contextSource"
class
="org.jasig.cas.adpators.ldap.util.AuthenticatedLdapContextSource">
<property name="urls">
<list>
<value>XXXXXXXXXXXXXXXX</value>
</list>
</property>
<property name="userName" value="XXXXXXX" />
<property name="password" value="XXXXXXX" />
<property name="baseEnvironmentProperties">
<property name="ignorePartialResultException" value="yes" />
<map>
<entry>
<key><value>java.naming.security.protocol</
value></key>
<value>ssl</value>
</entry>
<entry>
<key><value>java.naming.security.authentication</value></key>
<value>simple</value>
</entry>
</map>
</property>
</bean>
<bean id="userDetailsService"
class="org.acegisecurity.userdetails.memory.InMemoryDaoImpl">
<property name="userMap">
<value>
</value>
</property>
</bean>
<bean id="attributeRepository"
class="org.jasig.services.persondir.support.StubPersonAttributeDao">
<property name="backingMap">
<map>
<entry key="uid" value="uid" />
</map>
</property>
</bean>
<bean
id="serviceRegistryDao"
class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl" />
</beans>
--
_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas