CAS 2 Handlers to CAS 3 - Tomcat throwing errors at startup -CAS3 not working
Scott Battaglia
scott.battaglia at gmail.com
Mon Nov 19 12:20:43 EST 2007
Try doing:
org.jasig.cas.adaptors.cas.LegacyPasswordHandlerAdaptorAuthenticationHandler
It looks like the package name was wrong.
-Scott
On Nov 19, 2007 12:12 PM, Serge Bianda <serge.bianda at appian.com> wrote:
> I'm using an older version of CAS so I downloaded the jar file that you
> posted to the lib dir, rebuilt the war file and fired up tomcat, and still
> getting the same erro in the tomcat log file. Any other suggestions? Here is
> the error I get:
>
>
>
> SafeDispatcherServlet:
>
> The Spring DispatcherServlet we wrap threw on init.
>
> But for our having caught this error, the servlet would not have
> initialized.
>
> org.springframework.beans.factory.BeanDefinitionStoreException: Error
> registering bean with name '' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]: Bean class [
> org.jasig.cas.adaptors.LegacyPasswordHandlerAdaptorAuthenticationHandler]
> not found; nested exception is java.lang.ClassNotFoundException:
> org.jasig.cas.adaptors.LegacyPasswordHandlerAdaptorAuthenticationHandler
>
> java.lang.ClassNotFoundException:
> org.jasig.cas.adaptors.LegacyPasswordHandlerAdaptorAuthenticationHandler
>
>
>
>
>
> Here is my deployerConfigContext file in case someone can see any
> discrepancies:
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "
> http://www.springframework.org/dtd/spring-beans.dtd">
>
> <!--
>
> | 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>
>
> <!--
>
> | 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"
> />
>
>
>
> <!--
>
> | 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.
>
> +-->
>
> <!--
>
> | Here we declare that one of our AuthenticationHandlers is
> an instance of the CAS 2 PasswordHandler
>
> | adaptor.
>
> +-->
>
> <bean
>
> class="
> org.jasig.cas.adaptors.LegacyPasswordHandlerAdaptorAuthenticationHandler"
> >
>
> <!--
>
> | Here we give the adaptor a PasswordHandler to adapt.
>
> +-->
>
> <property name="passwordHandler">
>
> <bean
>
> class="com.devlab.cas.PasswordHandlerImpl" />
>
> </property>
>
> </bean>
>
> </list>
>
> </property>
>
> </bean>
>
> </beans>
>
>
>
> Best Regards,
>
>
>
> Serge
>
>
>
> *From:* cas-bounces at tp.its.yale.edu [mailto:cas-bounces at tp.its.yale.edu] *On
> Behalf Of *Scott Battaglia
> *Sent:* Sunday, November 18, 2007 11:14 AM
>
> *To:* Yale CAS mailing list
> *Subject:* Re: CAS 2 Handlers to CAS 3 - Tomcat throwing errors at startup
> -CAS3 not working
>
>
>
> If you're using CAS 3.1 or higher, you'll need the cas-server-webapp POM
> to have a dependency on the artifactId "cas-server-legacycas" (gorupId
> org.jasig.cas). And then rebuild the WAR.
>
> If you're using an older version of CAS, you'll want this JAR:
> http://developer.ja-sig.org/maven/cas/jars/cas-server-legacycas-3.0.5.jar
>
> Hope that helps
> -Scott
>
> On Nov 16, 2007 5:26 PM, Serge Bianda <serge.bianda at appian.com> wrote:
>
> Which jar file are you referring to? It's been over two years since I last
> worked on CAS and I can barely recall how I made it work back then. Are you
> talking about the cas.jar file from CAS 2? If so I copied that file in the
> WEB-INF/lib directory, then fired up tomcat and still got the same error in
> the catalina.out log file. Any other suggestions?
>
>
>
> Thanks
>
>
>
> Serge
>
>
>
> *From:* cas-bounces at tp.its.yale.edu [mailto:cas-bounces at tp.its.yale.edu] *On
> Behalf Of *Scott Battaglia
> *Sent:* Friday, November 16, 2007 4:59 PM
> *To:* Yale CAS mailing list
> *Subject:* Re: CAS 2 Handlers to CAS 3 - Tomcat throwing errors at startup
> - CAS3 not working
>
>
>
> You're not including the correct legacy jar in your WEB-INF/lib.
>
> You need to make sure the JAR containing those required classes are in
> there.
>
> -Scott
>
> On Nov 16, 2007 3:36 PM, Serge Bianda < serge.bianda at appian.com> wrote:
>
> I adapted my CAS 2 handlers to CAS 3 using the instructions described in
> this site :
> http://www.ja-sig.org/wiki/display/CAS/Using+CAS2+PasswordHandlers+in+CA
> S3<http://www.ja-sig.org/wiki/display/CAS/Using+CAS2+PasswordHandlers+in+CAS3>
>
> The built of CAS 3 was successful, but when I start tomcat, it throws
> out errors (see log below) and CAS does not work (no login screen at
> all). If you look at the log, you will notice the following entry which
> I'm not sure how to resolve it.
>
> Issue one from the log: Error registering bean with name '' defined in
> ServletContext resource [/WEB-INF/deployerConfigContext.xml]
> Issue two from the log: Bean class
> [org.jasig.cas.adaptors.LegacyPasswordHandlerAdaptorAuthenticationHandle
> r] not found
>
> Any help will be much appreciated.
>
>
> Thanks
>
> Serge
>
>
> ------------------------- CATALINA.OUT LOG ---------
>
>
> The Spring ContextLoaderListener we wrap threw on contextInitialized.
> But for our having caught this error, the web application context would
> not have initialized.
> org.springframework.beans.factory.BeanDefinitionStoreException: Error
> registering bean with name '' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]: Bean class
> [org.jasig.cas.adaptors.LegacyPasswordHandlerAdaptorAuthenticationHandle
> r] not found; nested exception is java.lang.ClassNotFoundException:
> org.jasig.cas.adaptors.LegacyPasswordHandlerAdaptorAuthenticationHandler
> java.lang.ClassNotFoundException:
> org.jasig.cas.adaptors.LegacyPasswordHandlerAdaptorAuthenticationHandler
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>
>
>
>
> --
> -Scott Battaglia
>
> LinkedIn: http://www.linkedin.com/in/scottbattaglia
>
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>
>
>
>
> --
> -Scott Battaglia
>
> LinkedIn: http://www.linkedin.com/in/scottbattaglia
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>
>
--
-Scott Battaglia
LinkedIn: http://www.linkedin.com/in/scottbattaglia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://tp.its.yale.edu/pipermail/cas/attachments/20071119/b6058cac/attachment-0001.html
More information about the cas
mailing list