SEC-2915: groovy/gradle spaces->tabs
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
|
||||
dependencies {
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-config')
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-config')
|
||||
|
||||
aspectpath project(':spring-security-aspects')
|
||||
aspectpath project(':spring-security-aspects')
|
||||
|
||||
runtime project(':spring-security-aspects')
|
||||
runtime project(':spring-security-aspects')
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
dependencies {
|
||||
compile project(':spring-security-core')
|
||||
compile project(':spring-security-core')
|
||||
|
||||
aspectpath project(':spring-security-aspects')
|
||||
aspectpath project(':spring-security-aspects')
|
||||
|
||||
runtime project(':spring-security-config'),
|
||||
project(':spring-security-aspects')
|
||||
runtime project(':spring-security-config'),
|
||||
project(':spring-security-aspects')
|
||||
}
|
||||
|
||||
@@ -10,65 +10,65 @@ def keystore = "$rootDir/samples/certificates/server.jks"
|
||||
def password = 'password'
|
||||
|
||||
configurations {
|
||||
casServer
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
casServer
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
test.resources.exclude 'GebConfig.groovy'
|
||||
integrationTest.groovy.srcDir file('src/integration-test/groovy')
|
||||
test.resources.exclude 'GebConfig.groovy'
|
||||
integrationTest.groovy.srcDir file('src/integration-test/groovy')
|
||||
}
|
||||
|
||||
eclipse.classpath.plusConfigurations += [configurations.integrationTestRuntime]
|
||||
|
||||
dependencies {
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-cas'),
|
||||
"org.jasig.cas.client:cas-client-core:$casClientVersion"
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-cas'),
|
||||
"org.jasig.cas.client:cas-client-core:$casClientVersion"
|
||||
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion",
|
||||
"net.sf.ehcache:ehcache:$ehcacheVersion"
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion",
|
||||
"net.sf.ehcache:ehcache:$ehcacheVersion"
|
||||
|
||||
integrationTestCompile project(':spring-security-cas'),
|
||||
"org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion",
|
||||
"org.gebish:geb-spock:$gebVersion",
|
||||
'commons-httpclient:commons-httpclient:3.1',
|
||||
"org.eclipse.jetty:jetty-server:$jettyVersion",
|
||||
"org.eclipse.jetty:jetty-servlet:$jettyVersion",
|
||||
"org.codehaus.groovy:groovy:$groovyVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
spockDependencies
|
||||
integrationTestCompile project(':spring-security-cas'),
|
||||
"org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion",
|
||||
"org.gebish:geb-spock:$gebVersion",
|
||||
'commons-httpclient:commons-httpclient:3.1',
|
||||
"org.eclipse.jetty:jetty-server:$jettyVersion",
|
||||
"org.eclipse.jetty:jetty-servlet:$jettyVersion",
|
||||
"org.codehaus.groovy:groovy:$groovyVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
spockDependencies
|
||||
}
|
||||
|
||||
[jettyRun, jettyRunWar]*.configure {
|
||||
contextPath = "/cas-sample"
|
||||
def httpConnector = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.nio.SelectChannelConnector').newInstance()
|
||||
httpConnector.port = 8080
|
||||
httpConnector.confidentialPort = 8443
|
||||
def httpsConnector = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.security.SslSocketConnector').newInstance()
|
||||
httpsConnector.port = 8443
|
||||
httpsConnector.keystore = httpsConnector.truststore = keystore
|
||||
httpsConnector.keyPassword = httpsConnector.trustPassword = password
|
||||
contextPath = "/cas-sample"
|
||||
def httpConnector = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.nio.SelectChannelConnector').newInstance()
|
||||
httpConnector.port = 8080
|
||||
httpConnector.confidentialPort = 8443
|
||||
def httpsConnector = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.security.SslSocketConnector').newInstance()
|
||||
httpsConnector.port = 8443
|
||||
httpsConnector.keystore = httpsConnector.truststore = keystore
|
||||
httpsConnector.keyPassword = httpsConnector.trustPassword = password
|
||||
|
||||
connectors = [httpConnector, httpsConnector]
|
||||
doFirst() {
|
||||
System.setProperty('cas.server.host', casServer().httpsHost)
|
||||
System.setProperty('cas.service.host', jettyRunWar.httpsHost)
|
||||
}
|
||||
connectors = [httpConnector, httpsConnector]
|
||||
doFirst() {
|
||||
System.setProperty('cas.server.host', casServer().httpsHost)
|
||||
System.setProperty('cas.service.host', jettyRunWar.httpsHost)
|
||||
}
|
||||
}
|
||||
|
||||
task cas (dependsOn: [jettyRunWar]) {
|
||||
jettyRunWar.dependsOn(':spring-security-samples-casserver:casServer')
|
||||
jettyRunWar.dependsOn(':spring-security-samples-casserver:casServer')
|
||||
}
|
||||
|
||||
task casServer(dependsOn: ':spring-security-samples-casserver:casServer') {
|
||||
@@ -76,54 +76,54 @@ task casServer(dependsOn: ':spring-security-samples-casserver:casServer') {
|
||||
|
||||
integrationTest.dependsOn cas
|
||||
integrationTest.doFirst {
|
||||
def casServiceHost = jettyRunWar.httpsHost
|
||||
systemProperties['cas.server.host'] = casServer().httpsHost
|
||||
systemProperties['cas.service.host'] = casServiceHost
|
||||
systemProperties['geb.build.baseUrl'] = 'https://'+casServiceHost+'/cas-sample/'
|
||||
systemProperties['geb.build.reportsDir'] = 'build/geb-reports'
|
||||
systemProperties['jar.path'] = jar.archivePath
|
||||
systemProperties['javax.net.ssl.trustStore'] = keystore
|
||||
systemProperties['javax.net.ssl.trustStorePassword'] = password
|
||||
def casServiceHost = jettyRunWar.httpsHost
|
||||
systemProperties['cas.server.host'] = casServer().httpsHost
|
||||
systemProperties['cas.service.host'] = casServiceHost
|
||||
systemProperties['geb.build.baseUrl'] = 'https://'+casServiceHost+'/cas-sample/'
|
||||
systemProperties['geb.build.reportsDir'] = 'build/geb-reports'
|
||||
systemProperties['jar.path'] = jar.archivePath
|
||||
systemProperties['javax.net.ssl.trustStore'] = keystore
|
||||
systemProperties['javax.net.ssl.trustStorePassword'] = password
|
||||
}
|
||||
|
||||
gradle.taskGraph.whenReady {graph ->
|
||||
def casServer = casServer()
|
||||
[casServer,jettyRunWar]*.metaClass*.getHttpsConnector {->
|
||||
def sslSocketConnClass = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.security.SslSocketConnector')
|
||||
delegate.connectors.find { it in sslSocketConnClass }
|
||||
}
|
||||
[casServer,jettyRunWar]*.metaClass*.getHttpsHost {->
|
||||
"localhost:"+delegate.httpsConnector.port
|
||||
}
|
||||
jettyRunWar.metaClass.getHttpConnector {->
|
||||
def channelConnClass = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.nio.SelectChannelConnector')
|
||||
delegate.connectors.find { it in channelConnClass }
|
||||
}
|
||||
if (graph.hasTask(cas)) {
|
||||
casServer.daemon = true
|
||||
}
|
||||
if(graph.hasTask(integrationTest)) {
|
||||
tasks.getByPath(':spring-security-samples-casserver:casServerOverlay').logLevel = 'ERROR'
|
||||
jettyRunWar {
|
||||
additionalRuntimeJars += file("src/integration-test/resources")
|
||||
daemon = true
|
||||
}
|
||||
def casServer = casServer()
|
||||
[casServer,jettyRunWar]*.metaClass*.getHttpsConnector {->
|
||||
def sslSocketConnClass = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.security.SslSocketConnector')
|
||||
delegate.connectors.find { it in sslSocketConnClass }
|
||||
}
|
||||
[casServer,jettyRunWar]*.metaClass*.getHttpsHost {->
|
||||
"localhost:"+delegate.httpsConnector.port
|
||||
}
|
||||
jettyRunWar.metaClass.getHttpConnector {->
|
||||
def channelConnClass = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.nio.SelectChannelConnector')
|
||||
delegate.connectors.find { it in channelConnClass }
|
||||
}
|
||||
if (graph.hasTask(cas)) {
|
||||
casServer.daemon = true
|
||||
}
|
||||
if(graph.hasTask(integrationTest)) {
|
||||
tasks.getByPath(':spring-security-samples-casserver:casServerOverlay').logLevel = 'ERROR'
|
||||
jettyRunWar {
|
||||
additionalRuntimeJars += file("src/integration-test/resources")
|
||||
daemon = true
|
||||
}
|
||||
|
||||
[jettyRunWar.httpConnector,jettyRunWar.httpsConnector,casServer.httpsConnector]*.metaClass*.reservePort { taskToCloseSocket ->
|
||||
def serverSocket = new ServerSocket(0)
|
||||
delegate.metaClass.serverSocket = serverSocket
|
||||
delegate.port = serverSocket.localPort
|
||||
taskToCloseSocket.doFirst {
|
||||
serverSocket.close()
|
||||
}
|
||||
}
|
||||
[jettyRunWar.httpConnector,jettyRunWar.httpsConnector,casServer.httpsConnector]*.metaClass*.reservePort { taskToCloseSocket ->
|
||||
def serverSocket = new ServerSocket(0)
|
||||
delegate.metaClass.serverSocket = serverSocket
|
||||
delegate.port = serverSocket.localPort
|
||||
taskToCloseSocket.doFirst {
|
||||
serverSocket.close()
|
||||
}
|
||||
}
|
||||
|
||||
[jettyRunWar.httpConnector,jettyRunWar.httpsConnector]*.reservePort(jettyRunWar)
|
||||
jettyRunWar.httpConnector.confidentialPort = jettyRunWar.httpsConnector.port
|
||||
casServer.httpsConnector.reservePort(casServer)
|
||||
}
|
||||
[jettyRunWar.httpConnector,jettyRunWar.httpsConnector]*.reservePort(jettyRunWar)
|
||||
jettyRunWar.httpConnector.confidentialPort = jettyRunWar.httpsConnector.port
|
||||
casServer.httpsConnector.reservePort(casServer)
|
||||
}
|
||||
}
|
||||
|
||||
def casServer() {
|
||||
tasks.getByPath(':spring-security-samples-casserver:casServer')
|
||||
tasks.getByPath(':spring-security-samples-casserver:casServer')
|
||||
}
|
||||
|
||||
@@ -6,58 +6,58 @@ def keystore = "$rootDir/samples/certificates/server.jks"
|
||||
def password = 'password'
|
||||
|
||||
configurations {
|
||||
casServer
|
||||
casServer
|
||||
}
|
||||
dependencies {
|
||||
casServer "org.jasig.cas:cas-server-webapp:4.0.0@war"
|
||||
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']
|
||||
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"))
|
||||
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
|
||||
from zipTree(war)
|
||||
from (overlayDir) {
|
||||
filter(ReplaceTokens,tokens: tokens)
|
||||
}
|
||||
into explodedWar
|
||||
|
||||
doLast {
|
||||
if(customWar.exists()) {
|
||||
customWar.delete()
|
||||
}
|
||||
ant.zip(destfile: customWar, baseDir: explodedWar)
|
||||
}
|
||||
doLast {
|
||||
if(customWar.exists()) {
|
||||
customWar.delete()
|
||||
}
|
||||
ant.zip(destfile: customWar, baseDir: explodedWar)
|
||||
}
|
||||
}
|
||||
|
||||
casServerOverlay.metaClass.setLogLevel { level ->
|
||||
tokens['logLevel'] = 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
|
||||
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
|
||||
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')
|
||||
}
|
||||
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')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,40 +1,40 @@
|
||||
apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
repositories {
|
||||
maven { url 'http://clojars.org/repo' }
|
||||
maven { url 'http://clojars.org/repo' }
|
||||
}
|
||||
|
||||
|
||||
dependencies {
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
|
||||
compile project(":spring-security-web"),
|
||||
project(":spring-security-config"),
|
||||
project(":spring-security-messaging"),
|
||||
project(":spring-security-data"),
|
||||
"org.springframework:spring-webmvc:${springVersion}",
|
||||
"org.springframework:spring-websocket:${springVersion}",
|
||||
"org.springframework:spring-messaging:${springVersion}",
|
||||
"org.springframework.session:spring-session:${springSessionVersion}",
|
||||
"org.springframework.data:spring-data-redis:${springDataRedisVersion}",
|
||||
"org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.0.Final",
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final",
|
||||
"redis.clients:jedis:2.4.2",
|
||||
"redis.embedded:embedded-redis:0.2",
|
||||
"org.apache.commons:commons-pool2:2.2",
|
||||
"org.thymeleaf:thymeleaf-spring4:$thymeleafVersion",
|
||||
"org.thymeleaf.extras:thymeleaf-extras-tiles2-spring4:2.1.1.RELEASE",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"com.fasterxml.jackson.core:jackson-databind:$jacksonDatavindVersion"
|
||||
compile('org.hibernate:hibernate-entitymanager:3.6.10.Final') {
|
||||
exclude group:'javassist', module: 'javassist'
|
||||
}
|
||||
compile("org.springframework.data:spring-data-jpa:$springDataJpaVersion") {
|
||||
exclude group:'org.aspectj', module:'aspectjrt'
|
||||
}
|
||||
compile project(":spring-security-web"),
|
||||
project(":spring-security-config"),
|
||||
project(":spring-security-messaging"),
|
||||
project(":spring-security-data"),
|
||||
"org.springframework:spring-webmvc:${springVersion}",
|
||||
"org.springframework:spring-websocket:${springVersion}",
|
||||
"org.springframework:spring-messaging:${springVersion}",
|
||||
"org.springframework.session:spring-session:${springSessionVersion}",
|
||||
"org.springframework.data:spring-data-redis:${springDataRedisVersion}",
|
||||
"org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.0.Final",
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final",
|
||||
"redis.clients:jedis:2.4.2",
|
||||
"redis.embedded:embedded-redis:0.2",
|
||||
"org.apache.commons:commons-pool2:2.2",
|
||||
"org.thymeleaf:thymeleaf-spring4:$thymeleafVersion",
|
||||
"org.thymeleaf.extras:thymeleaf-extras-tiles2-spring4:2.1.1.RELEASE",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"com.fasterxml.jackson.core:jackson-databind:$jacksonDatavindVersion"
|
||||
compile('org.hibernate:hibernate-entitymanager:3.6.10.Final') {
|
||||
exclude group:'javassist', module: 'javassist'
|
||||
}
|
||||
compile("org.springframework.data:spring-data-jpa:$springDataJpaVersion") {
|
||||
exclude group:'org.aspectj', module:'aspectjrt'
|
||||
}
|
||||
|
||||
runtime "ch.qos.logback:logback-classic:$logbackVersion"
|
||||
runtime "ch.qos.logback:logback-classic:$logbackVersion"
|
||||
}
|
||||
@@ -2,24 +2,24 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
}
|
||||
@@ -3,27 +3,27 @@
|
||||
apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-acl'),
|
||||
"org.springframework:spring-aop:$springVersion",
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.springframework:spring-tx:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion",
|
||||
"org.springframework:spring-webmvc:$springVersion"
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-acl'),
|
||||
"org.springframework:spring-aop:$springVersion",
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.springframework:spring-tx:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion",
|
||||
"org.springframework:spring-webmvc:$springVersion"
|
||||
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
jstlDependencies,
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion",
|
||||
"net.sf.ehcache:ehcache:$ehcacheVersion"
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
jstlDependencies,
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion",
|
||||
"net.sf.ehcache:ehcache:$ehcacheVersion"
|
||||
|
||||
integrationTestCompile gebDependencies
|
||||
integrationTestCompile gebDependencies
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -26,62 +26,62 @@ import org.springframework.security.samples.pages.*
|
||||
*/
|
||||
@Stepwise
|
||||
class ContactsTests extends GebReportingSpec {
|
||||
def 'access home page with unauthenticated user success'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
to HomePage
|
||||
then: 'The page is displayed'
|
||||
at HomePage
|
||||
}
|
||||
def 'access home page with unauthenticated user success'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
to HomePage
|
||||
then: 'The page is displayed'
|
||||
at HomePage
|
||||
}
|
||||
|
||||
def 'access manage page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Manage Page'
|
||||
manage.click(LoginPage)
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'access manage page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Manage Page'
|
||||
manage.click(LoginPage)
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The manage page is displayed'
|
||||
at ContactsPage
|
||||
}
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The manage page is displayed'
|
||||
at ContactsPage
|
||||
}
|
||||
|
||||
def 'add contact link works'() {
|
||||
when: 'user clicks add link'
|
||||
addContact.click(AddPage)
|
||||
then: 'The add page is displayed'
|
||||
at AddPage
|
||||
}
|
||||
def 'add contact link works'() {
|
||||
when: 'user clicks add link'
|
||||
addContact.click(AddPage)
|
||||
then: 'The add page is displayed'
|
||||
at AddPage
|
||||
}
|
||||
|
||||
def 'add contact'() {
|
||||
when: 'add a contact'
|
||||
addContact
|
||||
then: 'The add page is displayed'
|
||||
at ContactsPage
|
||||
and: 'The new contact is displayed'
|
||||
contacts.find { it.email == 'rob@example.com' }?.name == 'Rob Winch'
|
||||
}
|
||||
def 'add contact'() {
|
||||
when: 'add a contact'
|
||||
addContact
|
||||
then: 'The add page is displayed'
|
||||
at ContactsPage
|
||||
and: 'The new contact is displayed'
|
||||
contacts.find { it.email == 'rob@example.com' }?.name == 'Rob Winch'
|
||||
}
|
||||
|
||||
def 'delete contact'() {
|
||||
when: 'delete a contact'
|
||||
contacts.find { it.email == 'rob@example.com' }.delete()
|
||||
then: 'Delete confirmation displayed'
|
||||
at DeleteConfirmPage
|
||||
when: 'View Manage Page'
|
||||
manage.click()
|
||||
then: 'New contact has been removed'
|
||||
!contacts.find { it.email == 'rob@example.com' }
|
||||
}
|
||||
def 'delete contact'() {
|
||||
when: 'delete a contact'
|
||||
contacts.find { it.email == 'rob@example.com' }.delete()
|
||||
then: 'Delete confirmation displayed'
|
||||
at DeleteConfirmPage
|
||||
when: 'View Manage Page'
|
||||
manage.click()
|
||||
then: 'New contact has been removed'
|
||||
!contacts.find { it.email == 'rob@example.com' }
|
||||
}
|
||||
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout.click()
|
||||
then: 'the default logout success page is displayed'
|
||||
at HomePage
|
||||
when: 'Unauthenticated user accesses the Manage Page'
|
||||
via ContactsPage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout.click()
|
||||
then: 'the default logout success page is displayed'
|
||||
at HomePage
|
||||
when: 'Unauthenticated user accesses the Manage Page'
|
||||
via ContactsPage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,15 +23,15 @@ import geb.Page
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class AddPage extends Page {
|
||||
static url = 'add'
|
||||
static at = { assert driver.title == 'Add New Contact'; true}
|
||||
static content = {
|
||||
addContact(required:false) { name = 'Rob Winch', email = 'rob@example.com'->
|
||||
addForm.name = name
|
||||
addForm.email = email
|
||||
submit.click()
|
||||
}
|
||||
addForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
static url = 'add'
|
||||
static at = { assert driver.title == 'Add New Contact'; true}
|
||||
static content = {
|
||||
addContact(required:false) { name = 'Rob Winch', email = 'rob@example.com'->
|
||||
addForm.name = name
|
||||
addForm.email = email
|
||||
submit.click()
|
||||
}
|
||||
addForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,11 +23,11 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class HomePage extends Page {
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Contacts Security Demo'; true}
|
||||
static content = {
|
||||
manage(to: [ContactsPage,LoginPage]) { $('a', text: 'Manage') }
|
||||
debug { $('a', text: 'Debug').click() }
|
||||
frames { $('a', text: 'Frames').click() }
|
||||
}
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Contacts Security Demo'; true}
|
||||
static content = {
|
||||
manage(to: [ContactsPage,LoginPage]) { $('a', text: 'Manage') }
|
||||
debug { $('a', text: 'Debug').click() }
|
||||
frames { $('a', text: 'Frames').click() }
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,15 +23,15 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class LoginPage extends Page {
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login'; true}
|
||||
static content = {
|
||||
login(required:false) { user='rod', password='koala' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login'; true}
|
||||
static content = {
|
||||
login(required:false) { user='rod', password='koala' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
dependencies {
|
||||
compile project(':spring-security-data'),
|
||||
project(':spring-security-config'),
|
||||
"org.springframework.data:spring-data-jpa:$springDataJpaVersion",
|
||||
"org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.0.Final",
|
||||
'org.hibernate:hibernate-entitymanager:3.6.10.Final',
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(':spring-security-data'),
|
||||
project(':spring-security-config'),
|
||||
"org.springframework.data:spring-data-jpa:$springDataJpaVersion",
|
||||
"org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.0.Final",
|
||||
'org.hibernate:hibernate-entitymanager:3.6.10.Final',
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
|
||||
dependencies {
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-acl'),
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-tx:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion"
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-acl'),
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-tx:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion"
|
||||
|
||||
testCompile "org.springframework:spring-context:$springVersion"
|
||||
testCompile "org.springframework:spring-context:$springVersion"
|
||||
|
||||
runtime project(':spring-security-config'),
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"org.springframework:spring-context-support:$springVersion"
|
||||
runtime project(':spring-security-config'),
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"org.springframework:spring-context-support:$springVersion"
|
||||
|
||||
optional "net.sf.ehcache:ehcache:$ehcacheVersion"
|
||||
optional "net.sf.ehcache:ehcache:$ehcacheVersion"
|
||||
}
|
||||
|
||||
@@ -2,26 +2,26 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
|
||||
integrationTestCompile gebDependencies
|
||||
integrationTestCompile gebDependencies
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -27,30 +27,30 @@ import org.springframework.security.samples.pages.*
|
||||
*/
|
||||
@Stepwise
|
||||
class FormJcTests extends GebReportingSpec {
|
||||
def 'access home page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'access home page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The home page is displayed'
|
||||
at HomePage
|
||||
and: 'The username is displayed'
|
||||
user == 'user'
|
||||
}
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The home page is displayed'
|
||||
at HomePage
|
||||
and: 'The username is displayed'
|
||||
user == 'user'
|
||||
}
|
||||
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout()
|
||||
then: 'the login page is displayed'
|
||||
at LoginPage
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout()
|
||||
then: 'the login page is displayed'
|
||||
at LoginPage
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,10 +23,10 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class HomePage extends Page {
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Messages : View All'; true}
|
||||
static content = {
|
||||
user { $('p.navbar-text').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Messages : View All'; true}
|
||||
static content = {
|
||||
user { $('p.navbar-text').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,15 +23,15 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class LoginPage extends Page {
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Please Login'; true}
|
||||
static content = {
|
||||
login(required:false) { user='user', password='password' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('button', type: 'submit') }
|
||||
}
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Please Login'; true}
|
||||
static content = {
|
||||
login(required:false) { user='user', password='password' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('button', type: 'submit') }
|
||||
}
|
||||
}
|
||||
@@ -5,43 +5,43 @@ apply plugin: 'gae'
|
||||
def gaeVersion="1.4.2"
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
// Hibernate Validator
|
||||
name = 'JBoss'
|
||||
url = 'https://repository.jboss.org/nexus/content/repositories/releases'
|
||||
}
|
||||
maven {
|
||||
// GAE Jars
|
||||
name = 'GAE'
|
||||
url = 'http://maven-gae-plugin.googlecode.com/svn/repository'
|
||||
}
|
||||
maven {
|
||||
// Hibernate Validator
|
||||
name = 'JBoss'
|
||||
url = 'https://repository.jboss.org/nexus/content/repositories/releases'
|
||||
}
|
||||
maven {
|
||||
// GAE Jars
|
||||
name = 'GAE'
|
||||
url = 'http://maven-gae-plugin.googlecode.com/svn/repository'
|
||||
}
|
||||
}
|
||||
|
||||
// Remove logback as it causes security issues with GAE.
|
||||
configurations.runtime.exclude(group: 'ch.qos.logback')
|
||||
|
||||
dependencies {
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-web'),
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion",
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
"com.google.appengine:appengine-api-1.0-sdk:$gaeVersion",
|
||||
'javax.validation:validation-api:1.0.0.GA',
|
||||
'org.hibernate:hibernate-validator:4.2.0.Final',
|
||||
"org.slf4j:slf4j-api:$slf4jVersion"
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-web'),
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion",
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
"com.google.appengine:appengine-api-1.0-sdk:$gaeVersion",
|
||||
'javax.validation:validation-api:1.0.0.GA',
|
||||
'org.hibernate:hibernate-validator:4.2.0.Final',
|
||||
"org.slf4j:slf4j-api:$slf4jVersion"
|
||||
|
||||
runtime project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:slf4j-jdk14:$slf4jVersion"
|
||||
testCompile "com.google.appengine:appengine-testing:$gaeVersion"
|
||||
runtime project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:slf4j-jdk14:$slf4jVersion"
|
||||
testCompile "com.google.appengine:appengine-testing:$gaeVersion"
|
||||
|
||||
testRuntime "com.google.appengine:appengine-api-labs:$gaeVersion",
|
||||
"com.google.appengine:appengine-api-stubs:$gaeVersion"
|
||||
testRuntime "com.google.appengine:appengine-api-labs:$gaeVersion",
|
||||
"com.google.appengine:appengine-api-stubs:$gaeVersion"
|
||||
|
||||
}
|
||||
|
||||
@@ -2,25 +2,25 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final",
|
||||
"com.fasterxml.jackson.core:jackson-databind:2.2.1"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final",
|
||||
"com.fasterxml.jackson.core:jackson-databind:2.2.1"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
}
|
||||
@@ -2,26 +2,26 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
|
||||
testCompile project(":spring-security-test")
|
||||
testCompile project(":spring-security-test")
|
||||
}
|
||||
@@ -2,15 +2,15 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-web"),
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-web"),
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion"
|
||||
|
||||
runtime "ch.qos.logback:logback-classic:$logbackVersion"
|
||||
runtime "ch.qos.logback:logback-classic:$logbackVersion"
|
||||
|
||||
integrationTestCompile gebDependencies
|
||||
integrationTestCompile gebDependencies
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,10 +23,10 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class HomePage extends Page {
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Hello Security'; true}
|
||||
static content = {
|
||||
message { $('p').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Hello Security'; true}
|
||||
static content = {
|
||||
message { $('p').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
}
|
||||
@@ -2,15 +2,15 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-web"),
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-web"),
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion"
|
||||
|
||||
runtime "ch.qos.logback:logback-classic:$logbackVersion"
|
||||
runtime "ch.qos.logback:logback-classic:$logbackVersion"
|
||||
|
||||
integrationTestCompile gebDependencies
|
||||
integrationTestCompile gebDependencies
|
||||
}
|
||||
@@ -2,26 +2,26 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
|
||||
testCompile project(":spring-security-test")
|
||||
testCompile project(":spring-security-test")
|
||||
}
|
||||
@@ -2,13 +2,13 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion"
|
||||
compile jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion"
|
||||
|
||||
runtime "ch.qos.logback:logback-classic:$logbackVersion"
|
||||
runtime "ch.qos.logback:logback-classic:$logbackVersion"
|
||||
|
||||
integrationTestCompile gebDependencies
|
||||
integrationTestCompile gebDependencies
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -26,12 +26,12 @@ import org.springframework.security.samples.pages.*
|
||||
*/
|
||||
@Stepwise
|
||||
class HelloInsecureTests extends GebReportingSpec {
|
||||
def 'The HomePage is accessible'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
to HomePage
|
||||
then: 'The HomePage is displayed'
|
||||
at HomePage
|
||||
and: 'We can see the message'
|
||||
message == 'We would like to secure this page'
|
||||
}
|
||||
def 'The HomePage is accessible'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
to HomePage
|
||||
then: 'The HomePage is displayed'
|
||||
at HomePage
|
||||
and: 'We can see the message'
|
||||
message == 'We would like to secure this page'
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,9 +23,9 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class HomePage extends Page {
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Hello World'; true}
|
||||
static content = {
|
||||
message { $('p').text() }
|
||||
}
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Hello World'; true}
|
||||
static content = {
|
||||
message { $('p').text() }
|
||||
}
|
||||
}
|
||||
@@ -2,21 +2,21 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-samples-messages-jc"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-samples-messages-jc"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
}
|
||||
@@ -4,28 +4,28 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
def excludeModules = ['spring-security-acl', 'jsr250-api', 'ehcache', 'spring-jdbc', 'spring-tx']
|
||||
|
||||
configurations {
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
|
||||
compile project(':spring-security-core'),
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion"
|
||||
compile project(':spring-security-core'),
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion"
|
||||
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
|
||||
integrationTestCompile gebDependencies
|
||||
integrationTestCompile gebDependencies
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -27,35 +27,35 @@ import org.springframework.security.samples.pages.*
|
||||
*/
|
||||
@Stepwise
|
||||
class JaasXmlTests extends GebReportingSpec {
|
||||
def 'access home page with unauthenticated works'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
to HomePage
|
||||
then: 'The home page is displayed'
|
||||
at HomePage
|
||||
}
|
||||
def 'access home page with unauthenticated works'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
to HomePage
|
||||
then: 'The home page is displayed'
|
||||
at HomePage
|
||||
}
|
||||
|
||||
def 'access secure page with unauthenticated requires login'() {
|
||||
when: 'Unauthenticated user accesses the Secure Page'
|
||||
securePage LoginPage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'access secure page with unauthenticated requires login'() {
|
||||
when: 'Unauthenticated user accesses the Secure Page'
|
||||
securePage LoginPage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The secure page is displayed'
|
||||
at SecurePage
|
||||
}
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The secure page is displayed'
|
||||
at SecurePage
|
||||
}
|
||||
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout()
|
||||
then: 'the default logout success page is displayed'
|
||||
at LogoutPage
|
||||
when: 'Unauthenticated user accesses the Secure Page'
|
||||
via SecurePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout()
|
||||
then: 'the default logout success page is displayed'
|
||||
at LogoutPage
|
||||
when: 'Unauthenticated user accesses the Secure Page'
|
||||
via SecurePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,9 +23,9 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class HomePage extends Page {
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Home Page'; true}
|
||||
static content = {
|
||||
securePage(to: [SecurePage,LoginPage]) { $('a').click() }
|
||||
}
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Home Page'; true}
|
||||
static content = {
|
||||
securePage(to: [SecurePage,LoginPage]) { $('a').click() }
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,15 +23,15 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class LoginPage extends Page {
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page'; true}
|
||||
static content = {
|
||||
login(required:false) { user='user', password='user' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page'; true}
|
||||
static content = {
|
||||
login(required:false) { user='user', password='user' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,6 +23,6 @@ import geb.Page
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class LogoutPage extends LoginPage {
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page' && $('p').text() == 'You have been logged out'; true}
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page' && $('p').text() == 'You have been logged out'; true}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,10 +23,10 @@ import geb.Page
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class SecurePage extends Page {
|
||||
static url = 'secure/'
|
||||
static at = { assert driver.title == 'Security Debug Information'; true}
|
||||
static content = {
|
||||
message { $('p').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
static url = 'secure/'
|
||||
static at = { assert driver.title == 'Security Debug Information'; true}
|
||||
static content = {
|
||||
message { $('p').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
}
|
||||
@@ -2,26 +2,26 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
|
||||
integrationTestCompile gebDependencies
|
||||
integrationTestCompile gebDependencies
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -27,30 +27,30 @@ import org.springframework.security.samples.pages.*
|
||||
*/
|
||||
@Stepwise
|
||||
class JdbcJcTests extends GebReportingSpec {
|
||||
def 'access home page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'access home page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The home page is displayed'
|
||||
at HomePage
|
||||
and: 'The username is displayed'
|
||||
user == 'user'
|
||||
}
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The home page is displayed'
|
||||
at HomePage
|
||||
and: 'The username is displayed'
|
||||
user == 'user'
|
||||
}
|
||||
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout()
|
||||
then: 'the login page is displayed'
|
||||
at LoginPage
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout()
|
||||
then: 'the login page is displayed'
|
||||
at LoginPage
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,10 +23,10 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class HomePage extends Page {
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Messages : View All'; true}
|
||||
static content = {
|
||||
user { $('p.navbar-text').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Messages : View All'; true}
|
||||
static content = {
|
||||
user { $('p.navbar-text').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,15 +23,15 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class LoginPage extends Page {
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page'; true}
|
||||
static content = {
|
||||
login(required:false) { user='user', password='password' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page'; true}
|
||||
static content = {
|
||||
login(required:false) { user='user', password='password' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
}
|
||||
@@ -2,28 +2,28 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-ldap"),
|
||||
apachedsDependencies,
|
||||
project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-ldap"),
|
||||
apachedsDependencies,
|
||||
project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
|
||||
integrationTestCompile gebDependencies
|
||||
integrationTestCompile gebDependencies
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -27,30 +27,30 @@ import org.springframework.security.samples.pages.*
|
||||
*/
|
||||
@Stepwise
|
||||
class LdapJcTests extends GebReportingSpec {
|
||||
def 'access home page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'access home page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The home page is displayed'
|
||||
at HomePage
|
||||
and: 'The username is displayed'
|
||||
user == 'user'
|
||||
}
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The home page is displayed'
|
||||
at HomePage
|
||||
and: 'The username is displayed'
|
||||
user == 'user'
|
||||
}
|
||||
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout()
|
||||
then: 'the login page is displayed'
|
||||
at LoginPage
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout()
|
||||
then: 'the login page is displayed'
|
||||
at LoginPage
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
via HomePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,10 +23,10 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class HomePage extends Page {
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Messages : View All'; true}
|
||||
static content = {
|
||||
user { $('p.navbar-text').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Messages : View All'; true}
|
||||
static content = {
|
||||
user { $('p.navbar-text').text() }
|
||||
logout { $('input', type: 'submit').click() }
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,15 +23,15 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class LoginPage extends Page {
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page'; true}
|
||||
static content = {
|
||||
login(required:false) { user='user', password='password' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page'; true}
|
||||
static content = {
|
||||
login(required:false) { user='user', password='password' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
}
|
||||
@@ -4,23 +4,23 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
def excludeModules = ['spring-security-acl', 'jsr250-api', 'ehcache', 'spring-jdbc', 'ldapsdk']
|
||||
|
||||
configurations {
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(':spring-security-taglibs'),
|
||||
jstlDependencies
|
||||
compile project(':spring-security-taglibs'),
|
||||
jstlDependencies
|
||||
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
project(':spring-security-ldap'),
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion",
|
||||
apachedsDependencies
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
project(':spring-security-ldap'),
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion",
|
||||
apachedsDependencies
|
||||
|
||||
integrationTestCompile gebDependencies
|
||||
integrationTestCompile gebDependencies
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -26,35 +26,35 @@ import org.springframework.security.samples.pages.*
|
||||
*/
|
||||
@Stepwise
|
||||
class LdapXmlTests extends GebReportingSpec {
|
||||
def 'access home page with unauthenticated user success'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
to HomePage
|
||||
then: 'The page is displayed'
|
||||
at HomePage
|
||||
}
|
||||
def 'access home page with unauthenticated user success'() {
|
||||
when: 'Unauthenticated user accesses the Home Page'
|
||||
to HomePage
|
||||
then: 'The page is displayed'
|
||||
at HomePage
|
||||
}
|
||||
|
||||
def 'access manage page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Manage Page'
|
||||
secure.click(LoginPage)
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'access manage page with unauthenticated user sends to login page'() {
|
||||
when: 'Unauthenticated user accesses the Manage Page'
|
||||
secure.click(LoginPage)
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The secure page is displayed'
|
||||
at SecurePage
|
||||
}
|
||||
def 'authenticated user is sent to original page'() {
|
||||
when: 'user authenticates'
|
||||
login()
|
||||
then: 'The secure page is displayed'
|
||||
at SecurePage
|
||||
}
|
||||
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout.click()
|
||||
then: 'the default logout success page is displayed'
|
||||
at LogoutPage
|
||||
when: 'Unauthenticated user accesses the Manage Page'
|
||||
via SecurePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
def 'authenticated user logs out'() {
|
||||
when: 'user logs out'
|
||||
logout.click()
|
||||
then: 'the default logout success page is displayed'
|
||||
at LogoutPage
|
||||
when: 'Unauthenticated user accesses the Manage Page'
|
||||
via SecurePage
|
||||
then: 'The login page is displayed'
|
||||
at LoginPage
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,9 +23,9 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class HomePage extends Page {
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Home Page'; true}
|
||||
static content = {
|
||||
secure(to: [SecurePage,LoginPage]) { $('a', text: 'Secure page') }
|
||||
}
|
||||
static url = ''
|
||||
static at = { assert driver.title == 'Home Page'; true}
|
||||
static content = {
|
||||
secure(to: [SecurePage,LoginPage]) { $('a', text: 'Secure page') }
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,15 +23,15 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class LoginPage extends Page {
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page'; true}
|
||||
static content = {
|
||||
login(required:false) { user='rod', password='koala' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page'; true}
|
||||
static content = {
|
||||
login(required:false) { user='rod', password='koala' ->
|
||||
loginForm.username = user
|
||||
loginForm.password = password
|
||||
submit.click()
|
||||
}
|
||||
loginForm { $('form') }
|
||||
submit { $('input', type: 'submit') }
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -20,6 +20,6 @@ package org.springframework.security.samples.pages
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class LogoutPage extends LoginPage {
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page' && $('p').text() == 'You have been logged out'; true}
|
||||
static url = 'login'
|
||||
static at = { assert driver.title == 'Login Page' && $('p').text() == 'You have been logged out'; true}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* 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,
|
||||
@@ -23,9 +23,9 @@ import geb.*
|
||||
* @author Rob Winch
|
||||
*/
|
||||
class SecurePage extends Page {
|
||||
static url = 'secure/'
|
||||
static at = { assert driver.title == 'Secure Page'; true}
|
||||
static content = {
|
||||
logout { $("input[type=submit]", value: "Logoff") }
|
||||
}
|
||||
static url = 'secure/'
|
||||
static at = { assert driver.title == 'Secure Page'; true}
|
||||
static content = {
|
||||
logout { $("input[type=submit]", value: "Logoff") }
|
||||
}
|
||||
}
|
||||
@@ -1,30 +1,30 @@
|
||||
sonarRunner.skipProject = true
|
||||
|
||||
dependencies {
|
||||
provided "javax.servlet:javax.servlet-api:3.0.1"
|
||||
provided "javax.servlet:javax.servlet-api:3.0.1"
|
||||
|
||||
|
||||
compile project(":spring-security-web"),
|
||||
project(":spring-security-config"),
|
||||
"org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.0.Final",
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final",
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-orm:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-aop:$springVersion",
|
||||
"org.springframework:spring-tx:$springVersion",
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-instrument:$springVersion",
|
||||
"org.springframework:spring-core:$springVersion",
|
||||
"org.springframework:spring-aspects:$springVersion",
|
||||
"org.thymeleaf:thymeleaf-spring4:$thymeleafVersion",
|
||||
"org.thymeleaf.extras:thymeleaf-extras-tiles2-spring4:2.1.1.RELEASE"
|
||||
compile('org.hibernate:hibernate-entitymanager:3.6.10.Final') {
|
||||
exclude group:'javassist', module: 'javassist'
|
||||
}
|
||||
compile("org.springframework.data:spring-data-jpa:$springDataJpaVersion") {
|
||||
exclude group:'org.aspectj', module:'aspectjrt'
|
||||
}
|
||||
compile project(":spring-security-web"),
|
||||
project(":spring-security-config"),
|
||||
"org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.0.Final",
|
||||
"org.hsqldb:hsqldb:$hsqlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final",
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-orm:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-aop:$springVersion",
|
||||
"org.springframework:spring-tx:$springVersion",
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-instrument:$springVersion",
|
||||
"org.springframework:spring-core:$springVersion",
|
||||
"org.springframework:spring-aspects:$springVersion",
|
||||
"org.thymeleaf:thymeleaf-spring4:$thymeleafVersion",
|
||||
"org.thymeleaf.extras:thymeleaf-extras-tiles2-spring4:2.1.1.RELEASE"
|
||||
compile('org.hibernate:hibernate-entitymanager:3.6.10.Final') {
|
||||
exclude group:'javassist', module: 'javassist'
|
||||
}
|
||||
compile("org.springframework.data:spring-data-jpa:$springDataJpaVersion") {
|
||||
exclude group:'org.aspectj', module:'aspectjrt'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,26 +2,26 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-openid"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-openid"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30',
|
||||
"net.sourceforge.nekohtml:nekohtml:1.9.10"
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30',
|
||||
"net.sourceforge.nekohtml:nekohtml:1.9.10"
|
||||
}
|
||||
@@ -4,16 +4,16 @@ apply plugin: 'war'
|
||||
apply plugin: 'jetty'
|
||||
|
||||
dependencies {
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-openid')
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-openid')
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
|
||||
runtime project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
runtime project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
}
|
||||
|
||||
[jettyRun, jettyRunWar]*.contextPath = "/openid"
|
||||
|
||||
@@ -2,24 +2,24 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
}
|
||||
@@ -8,21 +8,21 @@ war.baseName = "sample"
|
||||
def excludeModules = ['jsr250-api', 'ehcache', 'spring-jdbc', 'spring-tx']
|
||||
|
||||
configurations {
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
}
|
||||
|
||||
jettyRun {
|
||||
userRealms = [jettyRun.class.classLoader.loadClass('org.mortbay.jetty.security.HashUserRealm').newInstance('Preauth Realm', "$projectDir/realm.properties")]
|
||||
userRealms = [jettyRun.class.classLoader.loadClass('org.mortbay.jetty.security.HashUserRealm').newInstance('Preauth Realm', "$projectDir/realm.properties")]
|
||||
}
|
||||
|
||||
@@ -2,24 +2,24 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
}
|
||||
@@ -5,30 +5,30 @@ apply plugin: 'war'
|
||||
def excludeModules = ['spring-security-acl', 'jsr250-api', 'ehcache', 'spring-jdbc', 'spring-tx']
|
||||
|
||||
configurations {
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-web'),
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion",
|
||||
"org.springframework:spring-webmvc:$springVersion"
|
||||
compile project(':spring-security-core'),
|
||||
project(':spring-security-web'),
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-context:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion",
|
||||
"org.springframework:spring-webmvc:$springVersion"
|
||||
|
||||
runtime project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
runtime project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
"org.springframework:spring-context-support:$springVersion",
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
}
|
||||
|
||||
eclipse.wtp.component.contextPath = "servletapi"
|
||||
|
||||
@@ -8,39 +8,39 @@ war.baseName = "sample"
|
||||
def excludeModules = ['spring-security-acl', 'jsr250-api', 'ehcache', 'spring-jdbc', 'spring-tx']
|
||||
|
||||
configurations {
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
excludeModules.each {name ->
|
||||
runtime.exclude module: name
|
||||
}
|
||||
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
runtime.exclude group: 'org.aspectj'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
providedCompile "javax.servlet:javax.servlet-api:$servletApiVersion"
|
||||
|
||||
compile project(':spring-security-core'),
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion",
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion"
|
||||
compile project(':spring-security-core'),
|
||||
"org.springframework:spring-beans:$springVersion",
|
||||
"org.springframework:spring-web:$springVersion",
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion"
|
||||
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-core:$logbackVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
runtime project(':spring-security-web'),
|
||||
project(':spring-security-config'),
|
||||
project(':spring-security-taglibs'),
|
||||
jstlDependencies,
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"ch.qos.logback:logback-core:$logbackVersion",
|
||||
"ch.qos.logback:logback-classic:$logbackVersion"
|
||||
}
|
||||
|
||||
jettyRun {
|
||||
def httpConnector = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.nio.SelectChannelConnector').newInstance()
|
||||
httpConnector.port = 8080
|
||||
httpConnector.confidentialPort = 8443
|
||||
def httpsConnector = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.security.SslSocketConnector').newInstance()
|
||||
httpsConnector.port = 8443
|
||||
httpsConnector.keystore = "$rootDir/samples/certificates/server.jks"
|
||||
httpsConnector.keyPassword = 'password'
|
||||
def httpConnector = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.nio.SelectChannelConnector').newInstance()
|
||||
httpConnector.port = 8080
|
||||
httpConnector.confidentialPort = 8443
|
||||
def httpsConnector = jettyRunWar.class.classLoader.loadClass('org.mortbay.jetty.security.SslSocketConnector').newInstance()
|
||||
httpsConnector.port = 8443
|
||||
httpsConnector.keystore = "$rootDir/samples/certificates/server.jks"
|
||||
httpsConnector.keyPassword = 'password'
|
||||
|
||||
connectors = [httpConnector, httpsConnector]
|
||||
connectors = [httpConnector, httpsConnector]
|
||||
}
|
||||
|
||||
@@ -3,24 +3,24 @@ apply from: WAR_SAMPLE_GRADLE
|
||||
|
||||
dependencies {
|
||||
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
providedCompile "javax.servlet:javax.servlet-api:3.0.1",
|
||||
'javax.servlet.jsp:jsp-api:2.1'
|
||||
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
compile project(":spring-security-config"),
|
||||
project(":spring-security-samples-messages-jc"),
|
||||
project(":spring-security-core"),
|
||||
project(":spring-security-web"),
|
||||
"org.springframework:spring-webmvc:$springVersion",
|
||||
"org.springframework:spring-jdbc:$springVersion",
|
||||
"org.slf4j:slf4j-api:$slf4jVersion",
|
||||
"org.slf4j:log4j-over-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jul-to-slf4j:$slf4jVersion",
|
||||
"org.slf4j:jcl-over-slf4j:$slf4jVersion",
|
||||
"javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:$jstlVersion",
|
||||
"javax.validation:validation-api:1.0.0.GA",
|
||||
"org.hibernate:hibernate-validator:4.2.0.Final"
|
||||
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
runtime "opensymphony:sitemesh:2.4.2",
|
||||
"cglib:cglib-nodep:$cglibVersion",
|
||||
'ch.qos.logback:logback-classic:0.9.30'
|
||||
}
|
||||
Reference in New Issue
Block a user