Use xml / javaconfig folders for samples
Fixes gh-3752
This commit is contained in:
63
samples/xml/cas/casserver/casserver.gradle
Normal file
63
samples/xml/cas/casserver/casserver.gradle
Normal file
@@ -0,0 +1,63 @@
|
||||
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:4.0.0@war"
|
||||
}
|
||||
|
||||
task casServerOverlay(type: Sync) {
|
||||
def war = configurations.casServer.resolve().toArray()[0]
|
||||
def warName = war.name.replace('.war','-custom')
|
||||
def overlayDir = file('src/main/webapp')
|
||||
def explodedWar = file("$buildDir/tmp/${warName}")
|
||||
ext.customWar = file("$buildDir/tmp/${warName}.war")
|
||||
ext.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 = [casServer.class.classLoader.loadClass('org.mortbay.jetty.security.SslSocketConnector').newInstance()]
|
||||
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)
|
||||
System.setProperty('java.naming.factory.url.pkgs','org.mortbay.naming')
|
||||
System.setProperty('java.naming.factory.initial','org.mortbay.naming.InitialContextFactory')
|
||||
}
|
||||
}
|
||||
116
samples/xml/cas/casserver/pom.xml
Normal file
116
samples/xml/cas/casserver/pom.xml
Normal file
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-samples-xml-casserver</artifactId>
|
||||
<version>4.1.0.BUILD-SNAPSHOT</version>
|
||||
<packaging>war</packaging>
|
||||
<name>spring-security-samples-xml-casserver</name>
|
||||
<description>spring-security-samples-xml-casserver</description>
|
||||
<url>http://spring.io/spring-security</url>
|
||||
<organization>
|
||||
<name>spring.io</name>
|
||||
<url>http://spring.io/</url>
|
||||
</organization>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache Software License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
<distribution>repo</distribution>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<id>rwinch</id>
|
||||
<name>Rob Winch</name>
|
||||
<email>rwinch@gopivotal.com</email>
|
||||
</developer>
|
||||
</developers>
|
||||
<scm>
|
||||
<connection>scm:git:git://github.com/spring-projects/spring-security</connection>
|
||||
<developerConnection>scm:git:git://github.com/spring-projects/spring-security</developerConnection>
|
||||
<url>https://github.com/spring-projects/spring-security</url>
|
||||
</scm>
|
||||
<properties>
|
||||
<m2eclipse.wtp.contextRoot>/spring-security-samples-xml-casserver</m2eclipse.wtp.contextRoot>
|
||||
</properties>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-framework-bom</artifactId>
|
||||
<version>4.2.5.RELEASE</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>commons-logging</groupId>
|
||||
<artifactId>commons-logging</artifactId>
|
||||
<version>1.2</version>
|
||||
<scope>compile</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
<version>1.1.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.12</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<version>2.2.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
<version>1.10.19</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
<version>1.7.7</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>spring-snapshot</id>
|
||||
<url>https://repo.spring.io/snapshot</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>1.7</source>
|
||||
<target>1.7</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>2.3</version>
|
||||
<configuration>
|
||||
<failOnMissingWebXml>false</failOnMissingWebXml>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@@ -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] - <%m>%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,196 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
Licensed to Jasig under one or more contributor license
|
||||
agreements. See the NOTICE file distributed with this work
|
||||
for additional information regarding copyright ownership.
|
||||
Jasig licenses this file to you under the Apache License,
|
||||
Version 2.0 (the "License"); you may not use this file
|
||||
except in compliance with the License. You may obtain a
|
||||
copy of the License at the following location:
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
-->
|
||||
<!--
|
||||
| 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 authentication handler with
|
||||
| one implementing your approach for authenticating usernames and passwords.
|
||||
+-->
|
||||
|
||||
<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:c="http://www.springframework.org/schema/c"
|
||||
xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xmlns:util="http://www.springframework.org/schema/util"
|
||||
xmlns:sec="http://www.springframework.org/schema/security"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
|
||||
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd
|
||||
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
|
||||
|
||||
<!--
|
||||
| The authentication manager defines security policy for authentication by specifying at a minimum
|
||||
| the authentication handlers that will be used to authenticate credential. While the AuthenticationManager
|
||||
| interface supports plugging in another implementation, the default PolicyBasedAuthenticationManager should
|
||||
| be sufficient in most cases.
|
||||
+-->
|
||||
<bean id="authenticationManager" class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">
|
||||
<constructor-arg>
|
||||
<map>
|
||||
<!--
|
||||
| IMPORTANT
|
||||
| Every handler requires a unique name.
|
||||
| If more than one instance of the same handler class is configured, you must explicitly
|
||||
| set its name to something other than its default name (typically the simple class name).
|
||||
-->
|
||||
<entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" />
|
||||
<entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" />
|
||||
</map>
|
||||
</constructor-arg>
|
||||
|
||||
<!-- Uncomment the metadata populator to allow clearpass to capture and cache the password
|
||||
This switch effectively will turn on clearpass.
|
||||
<property name="authenticationMetaDataPopulators">
|
||||
<util:list>
|
||||
<bean class="org.jasig.cas.extension.clearpass.CacheCredentialsMetaDataPopulator"
|
||||
c:credentialCache-ref="encryptedMap" />
|
||||
</util:list>
|
||||
</property>
|
||||
-->
|
||||
|
||||
<!--
|
||||
| Defines the security policy around authentication. Some alternative policies that ship with CAS:
|
||||
|
|
||||
| * NotPreventedAuthenticationPolicy - all credential must either pass or fail authentication
|
||||
| * AllAuthenticationPolicy - all presented credential must be authenticated successfully
|
||||
| * RequiredHandlerAuthenticationPolicy - specifies a handler that must authenticate its credential to pass
|
||||
-->
|
||||
<property name="authenticationPolicy">
|
||||
<bean class="org.jasig.cas.authentication.AnyAuthenticationPolicy" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Required for proxy ticket mechanism. -->
|
||||
<bean id="proxyAuthenticationHandler"
|
||||
class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
|
||||
p:httpClient-ref="httpClient" />
|
||||
|
||||
<!--
|
||||
| TODO: Replace this component with one suitable for your enviroment.
|
||||
|
|
||||
| This component provides authentication for the kind of credential used in your environment. In most cases
|
||||
| credential is a username/password pair that lives in a system of record like an LDAP directory.
|
||||
| The most common authentication handler beans:
|
||||
|
|
||||
| * org.jasig.cas.authentication.LdapAuthenticationHandler
|
||||
| * org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler
|
||||
| * org.jasig.cas.adaptors.x509.authentication.handler.support.X509CredentialsAuthenticationHandler
|
||||
| * org.jasig.cas.support.spnego.authentication.handler.support.JCIFSSpnegoAuthenticationHandler
|
||||
-->
|
||||
<bean id="primaryAuthenticationHandler"
|
||||
class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">
|
||||
<property name="users">
|
||||
<map>
|
||||
<entry key="scott" value="scott"/>
|
||||
<entry key="rod" value="rod"/>
|
||||
<entry key="dianne" value="dianne"/>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Required for proxy ticket mechanism -->
|
||||
<bean id="proxyPrincipalResolver"
|
||||
class="org.jasig.cas.authentication.principal.BasicPrincipalResolver" />
|
||||
|
||||
<!--
|
||||
| Resolves a principal from a credential using an attribute repository that is configured to resolve
|
||||
| against a deployer-specific store (e.g. LDAP).
|
||||
-->
|
||||
<bean id="primaryPrincipalResolver"
|
||||
class="org.jasig.cas.authentication.principal.PersonDirectoryPrincipalResolver" >
|
||||
<property name="attributeRepository" ref="attributeRepository" />
|
||||
</bean>
|
||||
|
||||
<!--
|
||||
Bean that defines the attributes that a service may return. This example uses the Stub/Mock version. A real implementation
|
||||
may go against a database or LDAP server. The id should remain "attributeRepository" though.
|
||||
+-->
|
||||
<bean id="attributeRepository" class="org.jasig.services.persondir.support.StubPersonAttributeDao"
|
||||
p:backingMap-ref="attrRepoBackingMap" />
|
||||
|
||||
<util:map id="attrRepoBackingMap">
|
||||
<entry key="uid" value="uid" />
|
||||
<entry key="eduPersonAffiliation" value="eduPersonAffiliation" />
|
||||
<entry key="groupMembership" value="groupMembership" />
|
||||
</util:map>
|
||||
|
||||
<!--
|
||||
Sample, in-memory data store for the ServiceRegistry. A real implementation
|
||||
would probably want to replace this with the JPA-backed ServiceRegistry DAO
|
||||
The name of this bean should remain "serviceRegistryDao".
|
||||
+-->
|
||||
<bean id="serviceRegistryDao" class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl"
|
||||
p:registeredServices-ref="registeredServicesList" />
|
||||
|
||||
<util:list id="registeredServicesList">
|
||||
<bean class="org.jasig.cas.services.RegexRegisteredService"
|
||||
p:id="0" p:name="HTTP and IMAP" p:description="Allows HTTP(S) and IMAP(S) protocols"
|
||||
p:serviceId="^(https?|imaps?)://.*" p:evaluationOrder="10000001"
|
||||
p:allowedToProxy="true"/>
|
||||
<!--
|
||||
Use the following definition instead of the above to further restrict access
|
||||
to services within your domain (including sub domains).
|
||||
Note that example.com must be replaced with the domain you wish to permit.
|
||||
This example also demonstrates the configuration of an attribute filter
|
||||
that only allows for attributes whose length is 3.
|
||||
-->
|
||||
<!--
|
||||
<bean class="org.jasig.cas.services.RegexRegisteredService">
|
||||
<property name="id" value="1" />
|
||||
<property name="name" value="HTTP and IMAP on example.com" />
|
||||
<property name="description" value="Allows HTTP(S) and IMAP(S) protocols on example.com" />
|
||||
<property name="serviceId" value="^(https?|imaps?)://([A-Za-z0-9_-]+\.)*example\.com/.*" />
|
||||
<property name="evaluationOrder" value="0" />
|
||||
<property name="attributeFilter">
|
||||
<bean class="org.jasig.cas.services.support.RegisteredServiceRegexAttributeFilter" c:regex="^\w{3}$" />
|
||||
</property>
|
||||
</bean>
|
||||
-->
|
||||
</util:list>
|
||||
|
||||
<bean id="auditTrailManager" class="com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager" />
|
||||
|
||||
<bean id="healthCheckMonitor" class="org.jasig.cas.monitor.HealthCheckMonitor" p:monitors-ref="monitorsList" />
|
||||
|
||||
<util:list id="monitorsList">
|
||||
<bean class="org.jasig.cas.monitor.MemoryMonitor" p:freeMemoryWarnThreshold="10" />
|
||||
<!--
|
||||
NOTE
|
||||
The following ticket registries support SessionMonitor:
|
||||
* DefaultTicketRegistry
|
||||
* JpaTicketRegistry
|
||||
Remove this monitor if you use an unsupported registry.
|
||||
-->
|
||||
<bean class="org.jasig.cas.monitor.SessionMonitor"
|
||||
p:ticketRegistry-ref="ticketRegistry"
|
||||
p:serviceTicketCountWarnThreshold="5000"
|
||||
p:sessionCountWarnThreshold="100000" />
|
||||
</util:list>
|
||||
</beans>
|
||||
@@ -0,0 +1,149 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
Licensed to Jasig under one or more contributor license
|
||||
agreements. See the NOTICE file distributed with this work
|
||||
for additional information regarding copyright ownership.
|
||||
Jasig licenses this file to you under the Apache License,
|
||||
Version 2.0 (the "License"); you may not use this file
|
||||
except in compliance with the License. You may obtain a
|
||||
copy of the License at the following location:
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
-->
|
||||
<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:c="http://www.springframework.org/schema/c"
|
||||
xmlns:util="http://www.springframework.org/schema/util"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
|
||||
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
|
||||
<description>
|
||||
This is the main Spring configuration file with some of the main "core" classes defined. You shouldn't really
|
||||
modify this unless you
|
||||
know what you're doing!
|
||||
</description>
|
||||
|
||||
<!--
|
||||
Including this aspectj-autoproxy element will cause spring to automatically
|
||||
create proxies around any beans defined in this file that match the pointcuts
|
||||
of any aspects defined in this file.
|
||||
-->
|
||||
<aop:aspectj-autoproxy/>
|
||||
|
||||
<!--
|
||||
Declare the TimingAspect that we want to weave into the other beans
|
||||
defined in this config file.
|
||||
-->
|
||||
<bean id="timingAspect" class="org.perf4j.log4j.aop.TimingAspect"/>
|
||||
|
||||
|
||||
<!--
|
||||
Message source for this context, loaded from localized "messages_xx" files.]
|
||||
|
||||
Disable the fallback mechanism to the system/JVM locale. By turning off this behavior, CAS
|
||||
will be able to revert back to the default language bundle that is "messages.properties"
|
||||
and will not rely on the JVM default locale which introduces the side effect of rendering
|
||||
the UI in the JVM locale by default.
|
||||
|
||||
Also, explicitly set the default encoding to be UTF-8 when parsing message bundles.
|
||||
The default, if not set, is none which forces ISO-8859-1 of java.util.ResourceBundle.
|
||||
-->
|
||||
<bean id="messageSource" class="org.jasig.cas.web.view.CasReloadableMessageBundle"
|
||||
p:basenames-ref="basenames" p:fallbackToSystemLocale="false" p:defaultEncoding="UTF-8"
|
||||
p:cacheSeconds="180" p:useCodeAsDefaultMessage="true" />
|
||||
|
||||
<util:list id="basenames">
|
||||
<value>classpath:custom_messages</value>
|
||||
<value>classpath:messages</value>
|
||||
</util:list>
|
||||
|
||||
<bean id="servicesManager" class="org.jasig.cas.services.DefaultServicesManagerImpl"
|
||||
c:serviceRegistryDao-ref="serviceRegistryDao" />
|
||||
|
||||
<!--
|
||||
Job to periodically reload services from service registry.
|
||||
This job is needed for a clustered CAS environment since service changes
|
||||
in one CAS node are not known to the other until a reload.
|
||||
-->
|
||||
<bean id="serviceRegistryReloaderJobDetail"
|
||||
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
|
||||
p:targetObject-ref="servicesManager"
|
||||
p:targetMethod="reload"/>
|
||||
|
||||
<bean id="periodicServiceRegistryReloaderTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"
|
||||
p:jobDetail-ref="serviceRegistryReloaderJobDetail"
|
||||
p:startDelay="${service.registry.quartz.reloader.startDelay:120000}"
|
||||
p:repeatInterval="${service.registry.quartz.reloader.repeatInterval:120000}"/>
|
||||
|
||||
|
||||
<bean id="noRedirectHttpClient" class="org.jasig.cas.util.SimpleHttpClient" parent="httpClient"
|
||||
p:followRedirects="false" />
|
||||
|
||||
<bean id="persistentIdGenerator"
|
||||
class="org.jasig.cas.authentication.principal.ShibbolethCompatiblePersistentIdGenerator"
|
||||
p:salt="casrocks"/>
|
||||
|
||||
<bean id="logoutManager" class="org.jasig.cas.logout.LogoutManagerImpl"
|
||||
c:servicesManager-ref="servicesManager"
|
||||
c:httpClient-ref="noRedirectHttpClient"
|
||||
c:logoutMessageBuilder-ref="logoutBuilder"
|
||||
p:disableSingleSignOut="${slo.callbacks.disabled:false}" />
|
||||
|
||||
<bean id="logoutBuilder" class="org.jasig.cas.logout.SamlCompliantLogoutMessageCreator" />
|
||||
|
||||
<!-- CentralAuthenticationService -->
|
||||
<bean id="centralAuthenticationService" class="org.jasig.cas.CentralAuthenticationServiceImpl">
|
||||
<constructor-arg index="0" ref="ticketRegistry"/>
|
||||
<constructor-arg index="1">
|
||||
<null />
|
||||
</constructor-arg>
|
||||
<constructor-arg index="2" ref="authenticationManager"/>
|
||||
<constructor-arg index="3" ref="ticketGrantingTicketUniqueIdGenerator"/>
|
||||
<constructor-arg index="4" ref="uniqueIdGeneratorsMap"/>
|
||||
<constructor-arg index="5" ref="grantingTicketExpirationPolicy"/>
|
||||
<constructor-arg index="6" ref="serviceTicketExpirationPolicy"/>
|
||||
<constructor-arg index="7" ref="servicesManager"/>
|
||||
<constructor-arg index="8" ref="logoutManager"/>
|
||||
<property name="persistentIdGenerator" ref="persistentIdGenerator"/>
|
||||
</bean>
|
||||
|
||||
<bean id="proxy10Handler" class="org.jasig.cas.ticket.proxy.support.Cas10ProxyHandler"/>
|
||||
|
||||
<bean id="proxy20Handler" class="org.jasig.cas.ticket.proxy.support.Cas20ProxyHandler"
|
||||
p:httpClient-ref="httpClient"
|
||||
p:uniqueTicketIdGenerator-ref="proxy20TicketUniqueIdGenerator"/>
|
||||
|
||||
<!-- ADVISORS -->
|
||||
<bean id="advisorAutoProxyCreator"
|
||||
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/>
|
||||
|
||||
<bean id="validationAnnotationBeanPostProcessor" class="org.jasig.cas.util.CustomBeanValidationPostProcessor"
|
||||
p:afterInitialization="true" />
|
||||
|
||||
<!-- The scheduler bean wires up any triggers that define scheduled tasks -->
|
||||
<bean id="scheduler" class="org.jasig.cas.util.AutowiringSchedulerFactoryBean"/>
|
||||
|
||||
|
||||
<bean id="httpClient" class="org.jasig.cas.util.SimpleHttpClient"
|
||||
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>
|
||||
Reference in New Issue
Block a user