1
0
mirror of synced 2026-08-06 02:08:01 +00:00

Created a casserver module to better isolate it from the cas sample application now that an overlay is being done

This commit is contained in:
Rob Winch
2011-05-12 21:46:29 -05:00
parent 4d786d74cf
commit e1f4c3d325
5 changed files with 81 additions and 61 deletions
+61
View File
@@ -0,0 +1,61 @@
import org.apache.tools.ant.filters.ReplaceTokens
apply plugin: 'jetty'
def keystore = "$rootDir/samples/certificates/server.jks"
def password = 'password'
configurations {
casServer
}
dependencies {
casServer "org.jasig.cas:cas-server-webapp:3.4.3.1@war"
}
task casServerOverlay(type: Sync) {
war = configurations.casServer.resolve().toArray()[0]
warName = war.name.replace('.war','-custom')
overlayDir = file('src/main/webapp')
explodedWar = file("$buildDir/tmp/${warName}")
customWar = file("$buildDir/tmp/${warName}.war")
tokens = [logLevel: 'INFO']
inputs.files(war, overlayDir)
inputs.property('tokens',{tokens})
outputs.files (customWar,explodedWar,file("$buildDir/tmp/expandedArchives"))
from zipTree(war)
from (overlayDir) {
filter(ReplaceTokens,tokens: tokens)
}
into explodedWar
doLast {
if(customWar.exists()) {
customWar.delete()
}
ant.zip(destfile: customWar, baseDir: explodedWar)
}
}
casServerOverlay.metaClass.setLogLevel { level ->
tokens['logLevel'] = level
}
task casServer (type: org.gradle.api.plugins.jetty.JettyRunWar, dependsOn: 'casServerOverlay') {
contextPath = "/cas"
connectors = [new org.mortbay.jetty.security.SslSocketConnector()]
connectors[0].port = 9443
connectors[0].keystore = connectors[0].truststore = keystore
connectors[0].keyPassword = connectors[0].trustPassword = password
connectors[0].wantClientAuth = true
connectors[0].needClientAuth = false
webApp = casServerOverlay.customWar
inputs.file casServerOverlay.customWar
doFirst() {
System.setProperty('javax.net.ssl.trustStore', keystore)
System.setProperty('javax.net.ssl.trustStorePassword', password)
}
}
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %p [%c] - &lt;%m&gt;%n"/>
</layout>
</appender>
<logger name="org.jasig" additivity="true">
<level value="@logLevel@" />
</logger>
<root>
<level value="ERROR"/>
<appender-ref ref="console"/>
</root>
</log4j:configuration>
@@ -0,0 +1,22 @@
<?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" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<description>
Customizations to the CAS Server. The name starts with zzz to ensure it is the last file loaded to override other bean definitions.
</description>
<!-- Make requests synchronous. This ensures that Single Logout has completed before the Logout page renders. -->
<bean id="httpClient" class="org.jasig.cas.util.HttpClient"
p:readTimeout="5000"
p:connectionTimeout="5000">
<property name="executorService">
<bean class="org.springframework.core.task.support.ExecutorServiceAdapter">
<constructor-arg>
<bean class="org.springframework.core.task.SyncTaskExecutor"/>
</constructor-arg>
</bean>
</property>
</bean>
</beans>