Skip to Content.
Sympa Menu

grouper-users - the problem of integer cas auth with group-ui

Subject: Grouper Users - Open Discussion List

List archive

the problem of integer cas auth with group-ui


Chronological Thread 
  • From: 艾飞 <>
  • To: "GW Brown, Information Systems and Computing" <>
  • Cc: <>
  • Subject: the problem of integer cas auth with group-ui
  • Date: Wed, 27 Sep 2006 16:36:47 +0800

Hi Gary,
first thanks for helping me to build the group-ui down the jdk1.5. I
download the xalan2.7 and put the serializer.jar under the lib path at the
same time and it works。
now I have anothe problem,how to succed to integer cas auth with
group-ui. when I build the group-ui,I interger the yale-cas-auth under the
path of contrib。then I deploy the grouper.war in the tomcat。when I access the
url http://******:7070/grouper/, the result is following:
step1:it redirect to the cas server login.jsp ,
step2:cas authenticat the netid and redirect to the service url
rnd12.dcampus.com:7070/grouper/index.jsp
step3:index.jsp redirect to the
http://rnd12.dcampus.com:7070/grouper/populateIndex.do but not the
http://rnd12.dcampus.com:7070/grouper/home.do
I have to inclike the login hyperlink of populateIndex.do and use the
tomcat's auth to reauthenticat the netid.
Could you help me ? the attachment is build.xml and web.xml and the result
of cas auth.
regards!

aifei




----- Original Message -----
From: "GW Brown, Information Systems and Computing"
<>
To: "??"
<>
Cc:
<>
Sent: Sunday, September 24, 2006 7:54 PM
Subject: Re: [grouper-users] the problem of merge grouper xml


> Hi aifei,
>
> It looks like you also need serializer.jar from the xalan distribution. I
> just tried it with xalan 2.7 and it worked for me.
>
> Gary

<project name="local" default="auto" basedir=".">
	<!--<import file="tomcat-tasks.xml"/>-->
	<echo message="${basedir}"/>
	<property environment="env"/>
	<property file="build.properties"/>
	<property name="contrib.dir" value="${basedir}\contrib"/>
	<property name="temp.dir" value="${basedir}\temp"/>

	<filter filtersfile="build.properties"/>
	<property file=".lastbuild.properties"/>

	<!-- 
		   In a production environment it is usual to build a clean distribution when incorporating changes,
		   and deploy only if the build works OK. During development it is more convenient to work in situ using an IDE.
		   This allows changes to be saved and become live immediately in the development environment, and also means that
		   files are edited under CVS control. The temptation otherwise is change files such as JSPs in their deployed location
		   and, hopefully, remember to copy them back to the CVS checkout area. 
		   
		   Some IDEs (specifically Eclipse) clean (delete) the build area before recompiling Java files. This can cause the loss
		   of resources that have been placed under the class folder so that they are availale to standard Java class path 
		   lookup mechanisms. The "resources" target is designed to replace resources which have been 'lost'. This build script
		   allows flexibility in setting where the build directory is. If so configured, through build.properties, an external 
		   site-specific script can be called which would allow the user to choose a build area from a menu. Otherwise a default
		   value is chosen.
-->
	
   
   <!-- Decide what to do based on previous choices-->	
    <target name="auto">
		<property file=".auto.properties"/>
		<condition property="default.target" value="help">
			<not>
				<isset property="default.target"/>
			</not>
		</condition>
		<antcall target="${default.target}"/>
    </target>   
    
    <target name="endhelp">
			<propertyfile file=".auto.properties">
				<entry key="default.target" value="default"/>
			</propertyfile>
    </target>
    
     <target name="starthelp">
			<propertyfile file=".auto.properties">
				<entry key="default.target" value="help"/>
			</propertyfile>
    </target>
    
    <target name="default">
			<antcall target="-setup"/>
    </target>

	<!-- only copy resources -->
	<target name="resources">
		<antcall target="-setup">
			<param value="true" name="no.webapp"/>
		</antcall>	
	</target>
	
	<!-- only copy resources - and restart webapp-->
	<target name="niceres">
		<antcall target="check-and-fix-tomcat-tasks"/>
		<antcall target="-setup">
			<param value="true" name="no.webapp"/>
		</antcall>	
		<ant antfile="tomcat-tasks.xml" target="restart"/>
	</target>
	
	<!--
		Clean build directory before building 
	-->
	<target name="clean">
		<antcall target="-setup">
			<param name="build.clean" value="true"/>
		</antcall>
	</target>
	
	
	<!--
		Do not clean build directory before building 
	-->
	<target name="noclean">
		<antcall target="-setup">
			<param name="build.clean" value="false"/>
		</antcall>
	</target>

	<!--
		Build into dist.home 
	-->
	<target name="dist">
	    <property name="deploy.docbase" value="${webapp.name}"/>
		<antcall target="-setup">
			<param name="build.dist" value="true"/>
			<param name="build.clean" value="true"/>
		</antcall>
	</target>
	
	<target name="test">
		
		<path id="dist.class.path">
			<pathelement location="${last.webapp.folder}/WEB-INF/classes"/>
				<!-- Make available jar files that Grouper needs -->
			<fileset dir="${last.webapp.folder}/WEB-INF/lib">
				<include name="**/*.jar"/>
			</fileset>		
		</path>
		<java classname="edu.internet2.middleware.grouper.ui.util.TestWebappSources" 
			classpathref="dist.class.path" outputproperty="testOutput" />
			<echo message="${testOutput}"/>
	</target>
	
	<!--
		Build into dist.home and then make a war file 
	-->
	<target name="war">
	    <property name="deploy.docbase" value="${webapp.name}"/>
		<antcall target="dist">
			<param name="build.war" value="true"/>
		</antcall>
	</target>	
	
	<!--
		stop webapp, build and start webapp
	-->
	<target name="nice">
		<antcall target="check-and-fix-tomcat-tasks"/>
		<antcall target="-setup">
			<param name="build.stop.tomcat" value="true"/>
		</antcall>
		<antcall target="-doStart"/>
	</target>
	
	<!--
		Clean build directory, stop webapp, build and start webapp
	-->
	<target name="niceclean">
		<antcall target="check-and-fix-tomcat-tasks"/>
		<antcall target="-setup">
			<param name="build.clean" value="true"/>
			<param name="build.stop.tomcat" value="true"/>
		</antcall>
		<antcall target="-doStart"/>
	</target>
	
	<target name="-dist-grouper" unless="grouper.is.available">
		<echo message="Building Grouper API"/>
		<ant dir="${grouper.folder}" target="dist"/>
	</target>

<!--
		   Resources come from various sources:
		   1) Grouper itself relies on properties and xml configuration files to be available on the class path. 
		   2) The ui uses resources for Internationalisation and other configuration
		   3) Implementing sites may have additional resources e.g. configuration files for a Subject implementation.
		  -->
	<target name="-resources" unless="no.resources">
	<echo message="In resources - Build folder = ${webapp.folder}"/>
		<!-- Core configuration settings that must be present -->
		<fail unless="webapp.folder">webapp.folder must be set</fail>
		<fail unless="grouper.folder">grouper.folder must be set</fail>
		<fail unless="ui.folder">ui.folder must be set</fail>
		<available file="${grouper.folder}/dist/lib/grouper.jar" property="grouper.is.available"/>
		<antcall target="-dist-grouper"/>
		<available file="${grouper.folder}/dist/lib/grouper.jar" property="grouper.is.now.available"/>
		<fail unless="grouper.is.now.available" message="${grouper.folder}/dist/lib/grouper.jar does not exist. You must
			   build and configure Grouper before running this script"/>

		<echo message="Creating  ${webapp.folder}"/>
		<mkdir dir="${webapp.folder}"/>
		<mkdir dir="${webapp.class.folder}"/>
		<mkdir dir="${webapp.folder}/WEB-INF/lib"/>
		<echo message="Copying Grouper configuration files to ${webapp.class.folder}"/>
		<copy todir="${webapp.class.folder}" overwrite="true">
			<fileset dir="${grouper.folder}/conf"/>
		</copy>
		<echo message="Copying ui resources to ${webapp.class.folder}/resources"/>
		<mkdir dir="${webapp.class.folder}/resources"/>
		<copy todir="${webapp.class.folder}/resources" overwrite="true" filtering="on">
			<fileset dir="${ui.folder}/resources"/>
		</copy>
		<!-- If configured call a site specific build script -->
		<antcall target="-additional-build">
			<param name="target" value="resources"/>
		</antcall>
		<available file="optional-conf" property="optional.conf"/>
		<!-- If available do further configuration -->
		<antcall target="-optional-conf"/>
	</target>
	
	
	<!--
		Copy in any additional config files 
	-->
	<target name="-optional-conf" if="optional.conf">
		<echo message="Copying and filtering optional configurations"/>
		<touch file="build.tokens"/>
		<filter filtersfile="build.tokens"/>
		<copy todir="${webapp.class.folder}" filtering="on" overwrite="true">
			<fileset dir="optional-conf"/>
		</copy>
	</target>
	
	<!--
		Let user choose where to build 
	-->
	<target name="-choose-webapp" if="webapp.do.choose.build">
		<echo message="Calling site specific script to choose build folder - '${webapp.choose.build}'"/>
		<ant antfile="${webapp.choose.build}" target="choose"/>
	</target>
	
	
	<!-- 
		Builds the entire webapp 
	-->
	<target name="-webapp" unless="no.webapp" depends="-ensure-grouper-libs">
	
		<delete dir="${temp.dir}"/>
		<mkdir dir="${temp.dir}"/>
		<mkdir dir="${dist.home}"/>
		<path id="ui.class.path">
				<!-- Make available jar files that Grouper needs -->
			<fileset dir="${grouper.folder}/dist/lib">
				<include name="**/*.jar"/>
				<exclude name="grouper-lib-*.jar"/>
				<exclude name="grouper.jar"/>
				<exclude name="grouper-2*.jar"/>
			</fileset>
				
			<!-- Make available jar files the UI needs -->
			<fileset dir="${ui.folder}/java/lib">
				<include name="**/*.jar"/>
			</fileset>
			<!-- Make available jar files already placed in the build folder - 
		  		     may happen when additional-build called -->
			<fileset dir="${webapp.folder}/WEB-INF/lib">
				<include name="**/*.jar"/>
			</fileset>
			<!-- make available any classes / resources already placed in the build folder -->
			<pathelement location="${webapp.class.folder}"/>
			<!-- Last, but not least, make Grouper API available -->
			<pathelement location="${grouper.folder}/dist/lib/grouper.jar"/>
		
		</path>
		<antcall target="-compileGrouper"/>
		<javac srcdir="${ui.folder}/java/src" destdir="${webapp.class.folder}" classpathref="ui.class.path" debuglevel="${debug.level}" debug="${debug}">
		<include name="edu/internet2/middleware/grouper/GrouperHelper.java"/>
			<include name="edu/internet2/middleware/grouper/ui/InitialStems.java"/>
			<include name="edu/internet2/middleware/grouper/PersonalStem.java"/>
		</javac>
		<!-- Compile ui code - mostly Struts actions -->
		
		<javac srcdir="${ui.folder}/java/src" destdir="${webapp.class.folder}" classpathref="ui.class.path" debuglevel="${debug.level}" debug="${debug}"/>
		<!-- Call any site specific build script. This may be used to introduce site specific Struts action,
		  	     local Subject implementations etc -->
		<antcall target="-additional-build">
			<param name="target" value="webapp"/>
		</antcall>
		
		<!-- Make all necessary jar files available to the webapp itself -->
		<copy todir="${webapp.folder}/WEB-INF/lib" overwrite="true">
			<fileset dir="${grouper.folder}/dist/lib">
				<include name="**/*.jar"/>
				<exclude name="grouper-lib-*.jar"/>
				<exclude name="grouper-2*.jar"/>
			</fileset>
			<fileset dir="${ui.folder}/java/lib">
				<include name="**/*.jar"/>
				<exclude name="servlet.jar"/>
			</fileset>
		</copy>
		
		<echo message="${contrib.dir}"/>
		
		<ant antfile="build.xml" target="webapp" dir="${contrib.dir}/yale-cas-auth" inheritrefs="true"/>
				  	   
						
		<ant antfile="build.xml" target="webapp" dir="${contrib.dir}/struts-patch" inheritrefs="true"/>
				
				<!-- If working on core Grouper UI would expect developers to build in situ - so no need to copy web content! -->
				<condition property="webapp-folder-is-build-folder">
					<equals arg1="${webapp.folder}" arg2="${ui.folder}/webapp"/>
				</condition>
		
		<!-- If working on core Grouper UI would expect developers to build in situ - so no need to copy web content! -->
		<condition property="webapp-folder-is-build-folder">
			<equals arg1="${webapp.folder}" arg2="${ui.folder}/webapp"/>
		</condition>
		<antcall target="-copyContent"/>
		<echo message="Processing web.xml"/>
		<path id="web.xml.files">
			<fileset dir="${temp.dir}">
				<include name="**/*.xml"/>
			</fileset>
		</path>
		<property name="web.xmls" refid="web.xml.files"/>
		<condition property="web.xmls.isempty">
			<equals arg1="${web.xmls}" arg2=""/>
		</condition>
		<echo message="web.xmls.isempty=:${web.xmls.isempty}:"/>
		<antcall target="-merge-xmls">
			<reference refid="ui.class.path" torefid="merge.class.path"/>
		</antcall>
		<antcall target="-copy-core-web-xml"/>
		
		<antcall target="-copyContextXmlToMetaInf"/>

		<condition property="copyToTomcat" value="true">
			<and>
				<isset property="deploy.copy.context.xml"/>
				<available file="${deploy.context.dir}" type="dir"/>
				<available file="./${deploy.context.xml}" type="file"/>
			</and>
		</condition>
		
		<antcall target="-copyContextXmlToTomcat"/>
	</target>
	
	<target name="-copyContextXmlToMetaInf" if="deploy.context.xml">
		<filter token="deploy.docbase" value="${deploy.docbase}"/>
		<filter token="deploy.context.path" value="${deploy.context.path}"/>
		<copy file="${deploy.context.xml}" tofile="${webapp.folder}/META-INF/context.xml" filtering="true" overwrite="true"/>
	</target>
	
	<target name="-copyContextXmlToTomcat" if="copyToTomcat">
		<filter token="deploy.docbase" value="${deploy.docbase}"/>
		<filter token="deploy.context.path" value="${deploy.context.path}"/>
		<copy file="${deploy.context.xml}" tofile="${deploy.context.dir}/${webapp.name}.xml" filtering="true" overwrite="true"/>
	</target>
	
	<!--
		Merge any xml files in temp directory with web.core.xml 
	-->
	<target name="-merge-xmls" unless="web.xmls.isempty">
	<copy file="${ui.folder}/webapp/WEB-INF/web.core.xml" tofile="${temp.dir}/50.web.core.xml"/>
	<path id="final.web.xml.files">
			<fileset dir="${temp.dir}">
				<include name="**/*.xml"/>
			</fileset>
		</path>
		<echo message="ui.folder is ${ui.folder}"/>
		<property name="final.web.xmls" refid="final.web.xml.files"/>
		<java classname="edu.internet2.middleware.grouper.ui.util.MergeWebXmls" classpathref="merge.class.path" outputproperty="mergeOutput" resultProperty="result">
			<arg value="${temp.dir}"/>
			<arg value="${final.web.xmls}"/>
			<arg value="${ui.folder}/web-xml-merge.xsl"/>
			<arg value="${ui.folder}/web-xml-merge-tags.xml"/>
			<arg value="${webapp.folder}/WEB-INF/web.xml"/>
		</java>
		<echo message="${mergeOutput}"/>
		<echo message="Result: ${result}"/>
		<condition property="failed">
			<not>
				<equals arg1="0" arg2="${result}"/>
			</not>
		</condition>
		<fail if="failed">Something went wrong processing web.xmls - check output for details</fail>
	</target>
	
	<!--
		 If nothing to merge just copy core file
	-->
	<target name="-copy-core-web-xml" if="web.xmls.isempty">
		<copy file="${ui.folder}/webapp/WEB-INF/web.core.xml" tofile="${webapp.folder}/WEB-INF/web.xml" overwrite="true"/>
	</target>
	
	<!--
		If configured, compile grouper source  -handy if changing both code sets
	-->
	<target name="-compileGrouper" if="grouper.compile.api">
		<echo message="Compiling the Grouper api"/>
		<javac srcdir="${grouper.folder}/src/grouper" destdir="${webapp.class.folder}" classpathref="ui.class.path" debuglevel="${debug.level}" debug="${debug}"/>
		<copy todir="${webapp.class.folder}">
			<fileset dir="${grouper.folder}/src/grouper">
				<include name="**/*.xml"/>
			</fileset>
		</copy>
	</target>
	
	<!--
		Copy static web content unless working in situ 
	-->
	<target name="-copyContent" unless="webapp-folder-is-build-folder">
		<echo message="Copying core UI files to ${webapp.folder}"/>
		<copy todir="${webapp.folder}">
			<fileset dir="${ui.folder}/webapp">
				<exclude name="WEB-INF/classes/**/*.*"/>
				<exclude name="WEB-INF/lib/**/*.*"/>
			</fileset>
		</copy>
	</target>
	

	<!--
		Hook to allow sites to build in their own customisations
	-->
	<target name="-additional-build" if="additional.build">
		<echo message="Calling site specific build script - '${additional.build}' - target=${target}"/>
		<dirname property="additional.build.dir" file="${additional.build}"/>
		<ant antfile="${additional.build}" target="${target}" inheritrefs="true" dir="${additional.build.dir}"/>
	</target>
	

	
	<target name="-war" if="build.war">
		<delete file="${dist.home}/${webapp.name}.war"/>
		<echo message="Creating ${dist.home}/${webapp.name}.war"/>
		<jar destfile="${dist.home}/${webapp.name}.war" basedir="${dist.home}/${webapp.name}"/>
	</target>
	
	<!--
		Work out what we are doing
	-->
	<target name="-setup">
	
	
		<!-- If needed make sure we have a distribution directory-->
		<condition property="dist.home" value="${basedir}/../dist">
			<and>
				<not>
					<isset property="dist.home"/>
				</not>
				<isset property="build.dist"/>
			</and>
		</condition>
		<!-- If we are distributing force webapp.folder value-->
		<condition property="webapp.folder" value="${dist.home}/${webapp.name}">
			<isset property="build.dist"/>
		</condition>
		<!-- Only choose if we don't have webapp.folder and we are configured to-->
		<condition property="webapp.do.choose.build">
			<and>
				<not>
					<isset property="webapp.folder"/>
				</not>
				<isset property="webapp.choose.build"/>
			</and>
		</condition>
		<!--Choose if we must-->
		<antcall target="-choose-webapp"/>
		<!-- Can't propagate properties back - so put in file and load-->
		<property file="choice.properties"/>
		<!-- We don't have a webapp.folder - use the default-->
		<condition property="webapp.do.default.build">
			<not>
				<isset property="webapp.folder"/>
			</not>
		</condition>
		<!-- Set default if we must-->
		
		<condition property="webapp.folder" value="${default.webapp.folder}">
				<isset property="webapp.do.default.build"/>
		</condition>
		<condition property="webapp.folder.cleanable" value="${default.webapp.folder.cleanable}">
			<and>
				<isset property="webapp.do.default.build"/>
				<istrue value="${default.webapp.folder.cleanable}"/>
			</and>
		</condition>
		<propertyfile file=".lastbuild.properties">
				<entry key="last.webapp.folder" value="${webapp.folder}"/>
			</propertyfile>
		<condition property="webapp.class.folder" value="${webapp.folder}/WEB-INF/classes">
			<not>
				<isset property="webapp.class.folder"/>
			</not>
		</condition>
		
		<!-- Where do we put the context.xml -->
		<condition property="deploy.copy.context.xml" value="true">
				<not>
					<isset property="deploy.docbase"/>
				</not>
		</condition>
		<!-- make sure we know where docbase is-->
	<condition property="deploy.docbase" value="${webapp.folder}">
				<not>
					<isset property="deploy.docbase"/>
				</not>
		</condition>
		<!-- Determine if we should do a clean build-->
		<condition property="do.clean">
			<and>
				<istrue value="${build.clean}"/>
				<!-- Only if selected-->
				<or>
					<and>
						<not>
							<isset property="build.dist"/>
						</not>
						<isset property="webapp.folder.cleanable"/>
					</and>
					<isset property="build.dist"/>
				</or>
			</and>
		</condition>
		<echo message="In setup - do.clean = ${do.clean}
		cleanable=${webapp.folder.cleanable}"/>
		<!--stop if we must-->
		<antcall target="-doStop"/>
		<!--Clean if we must-->
		<antcall target="-doCleanWebappClassFolder"/>
		<antcall target="-doClean"/>
		<antcall target="-resources"/>
		<antcall target="-webapp"/>
		<antcall target="-html"/>
		<antcall target="-war"/>
	</target>
	
	
	<!--
		Actually delete previous build
	-->
	<target name="-doClean" if="do.clean">
		<echo message="Removing  ${webapp.folder}"/>
		<delete dir="${webapp.folder}"/>
	</target>
	
	<!--
		Actually delete previous build class folder
	-->
	<target name="-doCleanWebappClassFolder" if="build.clean">
		<echo message="Removing  ${webapp.class.folder}"/>
		<delete dir="${webapp.class.folder}"/>
	</target>	
	
	<!--
		Stop tomcat
	-->
	<target name="-doStop" if="build.stop.tomcat">
		<ant antfile="tomcat-tasks.xml" target="execWithCheckExist">
			<property value="execStop" name="tomcat.action"/>
		</ant>
	</target>
	
		<!--
		Start tomcat
	-->
	<target name="-doStart" >
		<ant antfile="tomcat-tasks.xml" target="execWithCheckExist">
			<property value="execStart" name="tomcat.action"/>
		</ant>
	</target>
	
	<!--
		Explain options to user
	-->
	<target name="help">
<condition property="last.target" value="exit">
	<not><isset property="last.target"/></not>
</condition>
<echo>Please ensure you have read the documentation - </echo>	
<echo>and created a build.properties file based on the template provided</echo>

<echo></echo>
<echo>The following targets are available - type the appropriate name:</echo>
<echo></echo>
<echo>1) default </echo>
<echo>     Simply builds, without cleaning, to the default.webapp.folder</echo>
<echo>2) nice</echo>
<echo>     Attempts to stop the Tomcat webapp before building. </echo>
<echo>     Attempts to start the webappp afterwards</echo>
<echo>3) clean</echo>
<echo>     Always removes the webapp.class.folder. May remove the </echo>
<echo>     webapp.folder if webapp.folder.cleanable=true</echo>
<echo>     On Windows this may fail as Windows tends to lock files</echo>
<echo>4) niceclean</echo>
<echo>     Combination of nice and clean </echo>
<echo>5) dist</echo>
<echo>     Cleans and then builds to subfolder of dist.home</echo>
<echo>6) war</echo>
<echo>      Does dist and then makes a WAR file</echo>
<echo>7) resources</echo>
<echo>     Does not compile Java classes but 'refreshes' resources in</echo>
<echo>     webapp.class.folder</echo>
<echo>8 niceres</echo>
<echo>     Does not compile Java classes but 'refreshes' resources in</echo>
<echo>     webapp.class.folder and restarts webapp</echo>
<echo>9) help</echo>
<echo>     Displays this menu</echo>
<echo>10) endhelp</echo>
<echo>     Subsequent invocation of ant with no target will run  </echo>
<echo>     'default' rather than help</echo>
<echo>11) starthelp</echo>
<echo>     Subsequent invocation of ant with no target will run 'help' </echo>
<echo>12) html</echo>
<echo>     Generate Javadoc - you must have done a 'default' build previously</echo>
<echo>13) exit</echo>
<echo>     Exit this menu without executing another target</echo>
<echo></echo>

<input message="Make your choice (${last.target})&gt;" defaultvalue="${last.target}" addproperty="do.this"/>
<propertyfile file=".lastbuild.properties">
				<entry key="last.target" value="${do.this}"/>
			</propertyfile>
<antcall target="${do.this}"/>
	</target>
	
	<target name="exit">
		<echo message="OK exit selected - so quitting"/>
	</target>
	<target name="props">
		<echo message="webapp.name=${webapp.name}"/>
		<echo message="basedir=${basedir}"/>
		<echo message="deploy.context.path=${deploy.context.path}"/>
	</target>
	
	<target name="html">
		
		<antcall target="-setup">
			<param name="make.javadoc" value="true"/>
			<param name="no.webapp" value="true"/>
			<param name="no.resources" value="true"/>
		</antcall>
	</target>
	
	<target name="-html" if="make.javadoc" description="generate public api docs"  depends="-ensure-grouper-libs">    
	<!-- Let's be sure we clear out old cruft first... -->    
	<delete dir="doc/api" /> 
	<path id="ui.class.path">
				<!-- Make available jar files that Grouper needs -->
			<fileset dir="${grouper.folder}/dist/lib">
				<include name="**/*.jar"/>
				<exclude name="grouper-lib-*.jar"/>
				<exclude name="grouper.jar"/>
				<exclude name="grouper-2*.jar"/>
			</fileset>
			<!-- Make available jar files the UI needs -->
			<fileset dir="${ui.folder}/java/lib">
				<include name="**/*.jar"/>
			</fileset>
			
			<!-- Last, but not least, make Grouper API available -->
			<pathelement location="${grouper.folder}/dist/lib/grouper.jar"/>
		
		</path> 
		<property name="cp" refid="ui.class.path"/>
		<available file="${grouper.folder}/src/grouper" property="exists.grouper.src"/>
		<antcall target="-create-if-absent-grouper-src"/>
		  <antcall target="-html-with-subject" inheritrefs="true"/>
		  <antcall target="-html-without-subject" inheritrefs="true"/>
		  	<antcall target="-remove-if-created-grouper-src"/>
  </target>
	
			<target name="-create-if-absent-grouper-src" unless="exists.grouper.src">
				<mkdir dir="${grouper.folder}/src/grouper"/>
			</target>
			
			<target name="-remove-if-created-grouper-src" unless="exists.grouper.src">
				<delete dir="${grouper.folder}/src/grouper"/>
			</target>
			
	
<target name="-html-with-subject" if="subject.folder">	
	<javadoc 
		
		     
		 destdir="doc/api"                
		 classpathref="ui.class.path"       
		 access="public"     
		  > 
	<packageset dir="java/src" defaultexcludes="yes">
      <include name="edu/internet2/middleware/grouper/**"/>
      
    </packageset>
    <packageset dir="${grouper.folder}/src/grouper" defaultexcludes="yes">
      <include name="edu/internet2/middleware/grouper/**"/>
    </packageset>
       <packageset dir="${subject.folder}/src" defaultexcludes="yes">
      <include name="edu/internet2/middleware/**"/>
    </packageset>

    <link href="http://struts.apache.org/1.2.x/api/"/>
    <link href="http://java.sun.com/j2ee/sdk_1.3/techdocs/api"/>
    <link href="http://java.sun.com/j2se/1.4.2/docs/api"/>

		  </javadoc> 
	  </target>
	  
	  <target name="-html-without-subject" unless="subject.folder">	
	<javadoc 
		
		     
		 destdir="doc/api"                
		 classpathref="ui.class.path"       
		 access="public"     
		  > 
	<packageset dir="java/src" defaultexcludes="yes">
      <include name="edu/internet2/middleware/grouper/**"/>
      
    </packageset>
    <packageset dir="${grouper.folder}/src/grouper" defaultexcludes="yes">
      <include name="edu/internet2/middleware/grouper/**"/>
    </packageset>

    <link href="http://struts.apache.org/1.2.x/api/"/>
    <link href="http://java.sun.com/j2ee/sdk_1.3/techdocs/api"/>
    <link href="http://java.sun.com/j2se/1.4.2/docs/api"/>

		  </javadoc> 
	  </target>
	  
	  <target name="-ensure-grouper-libs">
		  <available property="grouper-lib.dist.available" file="${grouper.folder}/dist/lib/grouper-lib.jar"/>
		  <available property="grouper-libs.dist.available" file="${grouper.folder}/dist/lib/junit.jar"/>
		  <available property="grouper-libs.available" file="${grouper.folder}/lib"/>
		  <condition property="no.grouper-libs.available">
			  <and>
				  <not><isset property="grouper-lib.dist.available"/></not>
				  <not><isset property="grouper-libs.dist.available"/></not>
				  <not><isset property="grouper-libs.available"/></not>
			  </and>
		  </condition>
		  
		  <condition property="only.grouper-libs.available">
			  <and>
				  <not><isset property="grouper-lib.dist.available"/></not>
				  
				  <isset property="grouper-libs.available"/>
			  </and>
		  </condition>
		  
		<condition property="only.grouper-libs.dist.available">
			  <and>
				  <not><isset property="grouper-lib.dist.available"/></not>
				  <not><isset property="grouper-libs.available"/></not>
				  <isset property="grouper-libs.dist.available"/>
			  </and>
		  </condition>
		  
		  <antcall target="-grouper-lib-available"/>
		  <antcall target="-only-grouper-libs-available"/>
		  <antcall target="-only-grouper-libs-dist-available"/>
		   <antcall target="-no-grouper-libs-available"/>
	  </target>
	  
	  <target name="-grouper-lib-available" if="grouper-lib.dist.available">
		 <echo>grouper-lib.jar available</echo> 
	  </target>
	  <target name="-only-grouper-libs-available" if="only.grouper-libs.available">
		<echo>Copy jar files from lib</echo>
		<copy todir="${grouper.folder}/dist/lib" overwrite="true">
			<fileset dir="${grouper.folder}/lib">
				<include name="**/*.jar"/>
			</fileset>
		</copy>   
	  </target>
	  
	  <target name="-only-grouper-libs-dist-available" if="only.grouper-libs.dist.available">
		<echo>JAR files already available</echo>
	  </target>
	  <target name="-no-grouper-libs-available" if="no.grouper-libs.available">
			 <fail message="Unable to find ${grouper.folder}/dist/lib/grouper-lib.jar or ${grouper.folder}/lib or individual jar files in ${grouper.folder}/dist/lib"/>
	  </target>
	  
	  <!-- Make life easy for user-->
	  <target name="check-and-fix-tomcat-tasks">
		  <available property="catalina-ant.available" classname="org.apache.catalina.ant.DeployTask"/>
		  <antcall target="-ask-fix-catalina-ant"/>
	  </target>
	  
	  <target name="-ask-fix-catalina-ant" unless="catalina-ant.available">
		  <input message="catalina-ant.jar is not available. Copy to ${user.home}/.ant/lib  (y|n)?&gt;" defaultvalue="n" addproperty="copy-catalina-ant"/>
		  <condition property="do.fix">
			  <equals arg1="y" arg2="${copy-catalina-ant}"/>
		  </condition>
		  <antcall target="-fix-catalina-ant"/>
		  <fail unless="do.fix" message="Please add catalina-ant.jar to ${user.home}/.ant/lib  before running a 'nice' task"/>
	  </target>
	  
	  <target name="-fix-catalina-ant" if="do.fix">
	  <mkdir dir="${user.home}/.ant/lib"/>
		  <copy file="catalina-ant.jar" todir="${user.home}/.ant/lib"/>
		  <echo>Ant will now fail, however, if you run the same ant task again it should work</echo>
		  <echo/>
		  <fail>Please run ant again so it can find catalina-ant.jar</fail>
	  </target>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd";>
<web-app>
<!--DO NOT EDIT THIS FILE. IT WILL BE OVERWRITTEN. CHANGE YOUR FILE specified by the build.properties value [additional.web.xml]. The contents of that file are merged into ${grouper-ui}/webapp/WEB-INF/web.core.xml-->
<!--Processing context-param-->
<!--Processing filter-->
<!--Inserting tag from merge file-->
<filter>
  	<filter-name>Login check</filter-name>
  	<filter-class>edu.internet2.middleware.grouper.ui.LoginCheckFilter</filter-class>
  	<init-param>    
  		<param-name>failureUrl</param-name>    
  		<param-value>/</param-value>  
  	</init-param>
	 	<init-param>    
  	<param-name>ignore</param-name>    
  		<param-value>:/populateIndex.do:/callLogin.do:/error.do:/logout.do:</param-value>  
  	</init-param>
  </filter>
<!--Inserting tag from merge file-->
<filter>
  	<filter-name>Caller page</filter-name>
  	<filter-class>edu.internet2.middleware.grouper.ui.CallerPageFilter</filter-class>
    </filter>
<!--Inserting tag from base file-->
<filter>
  	<filter-name>PreCASFilter</filter-name>
  	<filter-class>uk.ac.bris.is.grouper.ui.PreCASFilter</filter-class>
  </filter>
<!--Inserting tag from base file-->
<filter>
  	<filter-name>CAS Gateway Filter</filter-name>
  	<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
  	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>    
  		<param-value>https://rndcas.dcampus.com:9090/cas/login</param-value>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>    
  		<param-value>https://rndcas.dcampus.com:9090/cas/serviceValidate</param-value>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>    
  		<param-value>rnd12.dcampus.com:7070</param-value>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.authorizedProxy</param-name>    
  		<param-value/>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name>    
  		<param-value>true</param-value>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.gateway</param-name>    
  		<param-value>true</param-value>  
  	</init-param>
  </filter>
<!--Inserting tag from base file-->
<filter>
  	<filter-name>CAS Filter</filter-name>
  	<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
  	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>    
  		<param-value>https://rndcas.dcampus.com:9090/cas/login</param-value>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>     
  		<param-value>https://rndcas.dcampus.com:9090/cas/serviceValidate</param-value>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>    
  		<param-value>rnd12.dcampus.com:7070</param-value>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.authorizedProxy</param-name>    
  		<param-value/>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name>    
  		<param-value>true</param-value>  
  	</init-param>
	<init-param>    
  		<param-name>edu.yale.its.tp.cas.client.filter.gateway</param-name>    
  		<param-value>false</param-value>  
  	</init-param>
  </filter>
<!--Processing filter-mapping-->
<!--Inserting tag from merge file-->
<filter-mapping>
  	<filter-name>Caller page</filter-name>
  	<url-pattern>/gotoCallerPage</url-pattern>
  </filter-mapping>
<!--Inserting tag from merge file-->
<filter-mapping>
  	<filter-name>Login check</filter-name>
  	<url-pattern>*.do</url-pattern>
  </filter-mapping>
<!--Inserting tag from base file-->
<filter-mapping>
  	<filter-name>CAS Filter</filter-name>
  	<url-pattern>*.do</url-pattern>
  </filter-mapping>
<!--Inserting tag from base file-->
<filter-mapping>
  	<filter-name>PreCASFilter</filter-name>
  	<url-pattern>*.do</url-pattern>
  </filter-mapping>
<!--Inserting tag from base file-->
<filter-mapping>
  <filter-name>CAS Gateway Filter</filter-name>
  	<url-pattern>/populateIndex.do</url-pattern>
  </filter-mapping>
<!--Processing listener-->
<!--Inserting tag from merge file-->
<listener>
  	<listener-class>edu.internet2.middleware.grouper.ui.GrouperSessionAttributeListener</listener-class>
</listener>
<!--Processing servlet-->
<!--Inserting tag from merge file-->
<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>
<!--Processing servlet-mapping-->
<!--Inserting tag from merge file-->
<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
<!--Processing mime-mapping-->
<!--Processing error-page-->
<!--Inserting tag from merge file-->
<error-page> 
  <error-code>401</error-code> 
  <location>/401.do</location> 
</error-page>
<!--Processing error-page-->
<!--Processing taglib-->
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html-el.tld</taglib-location>
  </taglib>
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean-el.tld</taglib-location>
  </taglib>
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic-el.tld</taglib-location>
  </taglib>
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-tiles-el.tld</taglib-location>
  </taglib>
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>http://java.sun.com/jstl/xml</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
  </taglib>
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
  </taglib>
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>http://jakarta.apache.org/taglibs/request-1.0</taglib-uri>
    <taglib-location>/WEB-INF/taglibs-request.tld</taglib-location>
  </taglib>
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>http://jakarta.apache.org/taglibs/datetime-1.0</taglib-uri>
    <taglib-location>/WEB-INF/taglibs-datetime.tld</taglib-location>
  </taglib>
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
  </taglib>
<!--Inserting tag from merge file-->
<taglib>
    <taglib-uri>http://middleware.internet2.edu/dir/groups/grouper</taglib-uri>
    <taglib-location>/WEB-INF/grouper-el.tld</taglib-location>
  </taglib>
<!--Processing resource-env-ref-->
<!--Processing resource-ref-->
<!--Processing security-constraint-->
<!--Inserting tag from merge file-->
<security-constraint>
    <web-resource-collection>
      <web-resource-name>Tomcat login</web-resource-name>
      <url-pattern>/login.do</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <!-- NOTE:  This role is not present in the default users file -->
       <role-name>grouper_user</role-name>
    </auth-constraint>
  </security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Grouper Application</realm-name>
  </login-config>
<!--Processing security-role-->
<!--Inserting tag from merge file-->
<security-role>
    <description>
      The role that is required to log in to the Manager Application
    </description>
    <role-name>grouper_user</role-name>
  </security-role>
<!--Processing env-entry-->
<!--Processing ejb-ref-->
<!--Processing ejb-local-ref-->
</web-app>

Attachment: casresult.JPG
Description: JPEG image




Archive powered by MHonArc 2.6.16.

Top of Page