websocket nella primavera del Boot app - Ottenere 403 Forbiddenwebsocket nella primavera del Boot app - Ottenere 403 Forbidden
mi può connettersi al websocket dal client utilizzando sockjs/stompjs quando ho eseguito questo in Eclipse (nessun avvio di primavera).
Ma quando creo un jar di avvio Spring (gradlew build) per il codice websocket ed eseguo il java-jar websocket-code.jar ottengo un errore 403 che si collega al websocket.
Non ho autenticazione per le websockets. Ho un filtro CORS e penso che abbia tutte le intestazioni giuste in richiesta/risposta.
Qui di seguito è il mio build.gradle
apply plugin: 'java'
apply plugin: 'spring-boot'
apply plugin: 'war'
sourceCompatibility = 1.7
version = '1.0'
repositories {
mavenCentral()
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.5.RELEASE")
}
}
configurations {
compile.exclude module: "spring-boot-starter-tomcat"
}
dependencies {
compile "org.springframework:spring-web:$spring_version"
compile "org.springframework:spring-webmvc:$spring_version"
compile "org.springframework:spring-websocket:$spring_version"
compile "org.springframework:spring-messaging:$spring_version"
compile "org.springframework.boot:spring-boot-starter-websocket"
compile "org.springframework.boot:spring-boot-starter-web"
compile "com.fasterxml.jackson.core:jackson-databind:2.6.2"
compile "com.fasterxml.jackson.core:jackson-core:2.6.2"
compile "com.fasterxml.jackson.core:jackson-annotations:2.6.2"
compile "org.springframework.amqp:spring-rabbit:1.3.5.RELEASE"
compile("org.springframework:spring-tx")
compile("org.springframework.boot:spring-boot-starter-web:1.2.6.RELEASE")
compile("org.springframework.boot:spring-boot-starter-jetty:1.2.6.RELEASE")
testCompile group: 'junit', name: 'junit', version: '4.11'
testCompile "org.springframework:spring-test:$spring_version"
}
task wrapper(type: Wrapper) {
gradleVersion = '2.5'
}
Aggiornamento:
Aggiunto un filtro CORS con response.setHeader ("Access-Control-Allow-Origin", "http://localhost:8089");
In Firebug sul lato client
Request Headers
Origin
http://localhost:8089
Response Headers
Access-Control-Allow-Origin
http://localhost:8089
Server Logs
2015-10-02 16:57:31.372 DEBUG 1848 --- [qtp374030679-14] o.s.w.s.s.t.h.DefaultSockJsService : Request rejected, Origin header value http://localhost:8089 not allowed
Origine mi sto chiedendo da è nella lista Consenti origine. Ancora ricevendo il messaggio di richiesta respinta nei log.
Non sono sicuro se questi funzionano ancora. Per me è come dire che il livello socket Web richiede credenziali per essere vero e anche quando ho messo il mio set le mie origini di permesso nel CORS. Ho ancora un 403 proibito – numerical25