Try using Maven 2.0.9 to build. You're pulling in multiple Spring versions.

Damn! I've seen you write that before and should have doubled checked. Then again, it is my first use of maven. Anyway, I've got 2.0.9 and libcommons-cli-java-1.1-3 which it needed and have installed them.

I did a mvn clean and a mvn package and re-deployed cas.war to the server without success but I'll have to look at the logs tomorrow.

Also, set write permissions on that cas log or directory for the Tomact
user.

That confused me. There is nothing wrong with the permission on those files. I've had that sort of problem before but they have the correct ownership & permissions. Indeed, I even truncated both cas.log and catalina.out before restarting tomcat so they were there and empty and then get information written to them.


On Thu, Oct 9, 2008 at 10:20 AM, Matthew Jones <
[EMAIL PROTECTED]> wrote:

Hi Thai,

I have skipped the Eclipse part and am trying just to build from the
command line. I have edited the pom.xml and deployerContextConfig.xml files
appropriately for the CAS I wish to deploy (that I have running having
patched the deployed .war file that I downloaded). I am using OpenLDAP I'm
using the "ordinary" LDAP binder rather than the fast one.

After running mvn package in the appropriate directory I get a cas.war file
in the target sub-directory and I then try to deploy that. When this is
deployed, it does indeed appear to have added the Spring LDAP .jar files
that I previously added manually but the .war file doesn't deploy
successfully.

Anyway, the "highlights" of catalina.out are as follows and I really don't
understand the one about cas.log. It is there and is owned by Tomcat. This
is the same Tomcat instance that I have the downloaded war file deployed on
and edited. Indeed, I can still start this CAS server and it still appears
to function correctly (it is under /cas-server-webapp-3.3 in the Tomcat
manager rather than my built one which is under /cas)

log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: cas.log (Permission denied)
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: cas.log (Permission denied)

2008-10-06 17:35:00,692 ERROR
[org.springframework.web.context.ContextLoader] - <Context initialization
failed>
java.lang.NoClassDefFoundError: org/springframework/core/SmartClassLoader
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
   at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
2008-10-06 17:35:00,701 FATAL
[org.jasig.cas.web.init.SafeContextLoaderListener] -
<SafeContextLoaderListener:
The Spring ContextLoaderListener we wrap threw on contextInitialized.
But for our having caught this error, the web application context would not
have initialized.>
java.lang.NoClassDefFoundError: org/springframework/core/SmartClassLoader

SafeContextLoaderListener:
The Spring ContextLoaderListener we wrap threw on contextInitialized.
But for our having caught this error, the web application context would not
have initialized.
java.lang.NoClassDefFoundError: org/springframework/core/SmartClassLoader

2008-10-06 17:35:00,709 ERROR
[org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/cas]] -
<SafeContextLoaderListener:
The Spring ContextLoaderListener we wrap threw on contextInitialized.
But for our having caught this error, the web application context would not
have initialized.>
java.lang.NoClassDefFoundError: org/springframework/core/SmartClassLoader

2008-10-06 17:35:00,742 ERROR
[org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/cas]] -
<Exception starting filter springSecurityFilterChain>
java.lang.NoClassDefFoundError:
org/springframework/beans/PropertyAccessorFactory
   at
org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:165)
2008-10-06 17:35:00,755 ERROR
[org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/cas]] -
<Exception starting filter CAS Client Info Logging Filter>
java.lang.NoClassDefFoundError:
org/springframework/beans/PropertyAccessorFactory
   at
org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:165)
Oct 6, 2008 5:35:00 PM org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Oct 6, 2008 5:35:00 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/cas] startup failed due to previous errors
Oct 6, 2008 5:35:00 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive cas-server-webapp-3.3.war
2008-10-06 17:35:08,938 INFO
[org.jasig.cas.web.flow.AuthenticationViaFormAction] - <FormObjectClass not
set.  Using default class of
org.jasig.cas.authentication.principal.UsernamePasswordCredentials with
formObjectName credentials and validator
org.jasig.cas.validation.UsernamePasswordCredentialsValidator.>

All of which makes me think I have missed something fundemental in my
configuration somewhere. I am trying to build the war file on Ubuntu 8.04
AMD64 with the following:
# mvn --version
Maven version: 2.0.8
Java version: 1.6.0_06
OS name: "linux" version: "2.6.24-19-generic" arch: "amd64" Family: "unix"

The last part of the output from the mvn package command run the
cas-server-webapp is as follows:

[INFO] BUILD SUCCESSFUL
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 14 seconds
[INFO] Finished at: Thu Oct 09 15:13:22 BST 2008
[INFO] Final Memory: 21M/52M
[INFO]
------------------------------------------------------------------------

which implies it worked. I have assumed that I don't actually need any of
the Eclipse part for this to work.


 Maven2 and CAS-3.3 are all you need.
Here is what I did:

o I used Eclispe but after installing the Maven plug-in, eclipse
treats all my projects as Maven projects and if it could not find
pom.xml in a project, it complains about it. So I removed the plug-in
and use Eclispe as a editor. I know the purpose of the plug-in is to
eliminate the manual process as I will described below and more. But
for now I will not use it until I have more time to figure it out.
Hopefully, someone can have some input on this.

o When you untar the CAS-3.3 you will find the directory
cas-server-webapp, use that directory to create a Java project in
Eclipse.
NOTE: If you have mvn in your PATH, you can go to the
cas-server-webapp and run the command: mvn package
First time you run, Maven will download some files (you need internet
connection)
It should success building and create cas-server-webapp/target/cas.war
file.
This should be the same as CAS-3.3/modules/cas-server-webapp-3.3.war
file that include in the download

To modify CAS to support authenticate against LDAP:
All files mention below are relative to the cas-server-webapp directory
o Modify pom.xml file and add:
----------------------------------------------
<dependency>
                       <groupId>org.jasig.cas</groupId>
                       <artifactId>cas-server-support-ldap</artifactId>
                       <version>${project.version}</version>
</dependency>
---------------------------------------------
in between the <dependencies>

o Modify src/main/webapp/WEB-INF/deployerConfigContext.xml and replace:

 
org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler
with
 org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler

and add:
------------------------------------------------
<bean id="contextSource"
class="org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource">
               <property name="pool" value="true" />
               <property name="urls">
                       <list>
                               <value>ldap://your-ldap-server:389</value>
                       </list>
               </property>
               <property name="baseEnvironmentProperties">
                       <map>
                               <entry>
                                       <key>

 <value>java.naming.security.authentication</value>
                                       </key>

 <value>simple</value></entry></map></property>
               <property name="userName">

 <value>your-cn-of-the-access-or-anonymous</value></property>
               <property name="password">
                       <value>depend-on-anonymous-access</value>
               </property>
       </bean>
----------------------------------------------------------
in between the <beans>

o Now if you go back the prompt and run: mvn package again, maven will
download the spring ldap jar files for you and include in the newly
build cas.war

Hope that help! (please update if you found any trouble)

Thai Nguyen

On Tue, Oct 7, 2008 at 4:29 AM, Matthew Jones
<[EMAIL PROTECTED]> wrote:

Up until now all I have been doing is deploying CAS from the downloaded
.war
file and adding the Spring LDAP jars manually. I now want to move to
being
able to build a custom .war file that contains the required LDAP jars and
then move on to writing a custom authentication handler for our combined
X509 certificates and username /pasword.

I have installed maven2 and already have the CAS 3.3 download as that's
what
I have deployed to our test system. Is that sufficient for what I want to
do? Is there any basic guide for novices starting along this line?

I do have eclipse installed although I haven't used it for anything
related
to CAS although I have seen using Eclipse mentioned. Is this the
recommended
approach? I'm after the simplest approach to set this up so I'm happy to
follow any reasonable approach especially as this isn't in my normal
working
set currently.

All help and advice gratefully received.

Thanks

--
Matthew Jones
Interactive Data Managed Solutions Ltd
-----------------------------------------------------------------------
Registered in England Company Number 3691868
Registered Office: Fitzroy House, 13-17 Epworth Street, London, EC2A 4DL
Tel: +44 (0)1242 694133 | Fax: +44 (0)1242 694109
[EMAIL PROTECTED]
http://www.interactivedata-ms.com/694133

This message (including any files transmitted with it) may contain
confidential and/or proprietary information, is the property of Interactive
Data Corporation and/or its subsidiaries, and is directed only to the
addressee(s). If you are not the designated recipient or have reason to
believe you received this message in error, please delete this message from
your system and notify the sender immediately. An unintended recipient's
disclosure, copying, distribution, or use of this message or any attachments
is prohibited and may be unlawful.
Interactive Data (Europe) Ltd Registered No. 949387 England Registered
Office: Fitzroy House 13-17 Epworth Street. London. EC2A 4DL


_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas




------------------------------------------------------------------------

_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas


--
Matthew Jones
Interactive Data Managed Solutions Ltd
-----------------------------------------------------------------------
Registered in England Company Number 3691868
Registered Office: Fitzroy House, 13-17 Epworth Street, London, EC2A 4DL
Tel: +44 (0)1242 694133 | Fax: +44 (0)1242 694109
[EMAIL PROTECTED]
http://www.interactivedata-ms.com/694133

This message (including any files transmitted with it) may contain confidential and/or proprietary information, is the property of Interactive Data Corporation and/or its subsidiaries, and is directed only to the addressee(s). If you are not the designated recipient or have reason to believe you received this message in error, please delete this message from your system and notify the sender immediately. An unintended recipient's disclosure, copying, distribution, or use of this message or any attachments is prohibited and may be unlawful. Interactive Data (Europe) Ltd Registered No. 949387 England Registered Office: Fitzroy House 13-17 Epworth Street. London. EC2A 4DL

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to