mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-02-23 23:31:27 +00:00
Provide abstractions for transferring a SecurityContext across threads. The main concepts are the DelegatingSecurityContextCallable and the DelegatingSecurityContextRunnable which contain a SecurityContext to establish before delegating to a Callable or Runnable. There are also wrapper implementations for each of the key java.util.concurrent and spring task interfaces to make using the DelegatingSecurityContextCallable and DelegatingSecurityContextRunnable transparent to users. For example a DelegatingSecurityContextTaskExecutor which can be injected with a specific SecurityContext or use the SecurityContext from the SecurityContextHolder at the time the task is submitted. There are similar implementations for each of the key java.util.concurrent and spring task interfaces. Note that in order to get DelegatingSecurityContextExecutorService to compile with JDK 5 or JDK 6 we could not use type safe methods. See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6267833 for details.
47 lines
1.6 KiB
Groovy
47 lines
1.6 KiB
Groovy
// Core build file
|
|
|
|
// We don't define a module dependency on crypto to avoid creating a transitive dependency
|
|
def cryptoProject = project(':spring-security-crypto')
|
|
def cryptoClasses = cryptoProject.sourceSets.main.output
|
|
|
|
dependencies {
|
|
compile cryptoProject,
|
|
'aopalliance:aopalliance:1.0',
|
|
"net.sf.ehcache:ehcache:$ehcacheVersion",
|
|
"org.springframework:spring-aop:$springVersion",
|
|
"org.springframework:spring-beans:$springVersion",
|
|
"org.springframework:spring-context:$springVersion",
|
|
"org.springframework:spring-expression:$springVersion",
|
|
"org.springframework:spring-jdbc:$springVersion",
|
|
"org.springframework:spring-tx:$springVersion",
|
|
"org.aspectj:aspectjrt:$aspectjVersion",
|
|
'javax.annotation:jsr250-api:1.0'
|
|
|
|
testCompile 'commons-collections:commons-collections:3.2',
|
|
"org.springframework:spring-test:$springVersion",
|
|
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
|
powerMockDependencies
|
|
|
|
testRuntime "hsqldb:hsqldb:$hsqlVersion",
|
|
"cglib:cglib-nodep:$cglibVersion"
|
|
}
|
|
|
|
compileJava.dependsOn cryptoProject.compileJava
|
|
classes.dependsOn cryptoProject.classes
|
|
|
|
classes.doLast {
|
|
copy {
|
|
from cryptoClasses
|
|
into sourceSets.main.output.classesDir
|
|
}
|
|
}
|
|
|
|
sourceSets.main.compileClasspath += cryptoClasses
|
|
sourceSets.test.compileClasspath += cryptoClasses
|
|
|
|
sourceJar.from cryptoProject.sourceSets.main.java
|
|
|
|
test {
|
|
systemProperties['springSecurityVersion'] = version
|
|
systemProperties['springVersion'] = springVersion
|
|
} |