Closed RobMaskell closed 2 years ago
It looks like there's a reflection config missing.
If you'd like us to spend some time investigating, please take the time to provide a complete minimal sample (something that we can unzip or git clone, build, and deploy) that reproduces the problem.
I have pulled the security-thymeleaf sample out of spring-native, added my three lines of html and zipped it up Steps to reproduce Unzip demo.zip
./gradlew bootBuildImage
docker run -it --name test -p8080:8080 demo:0.0.1-SNAPSHOT
Navigate to /http://localhost/hello username: user password: password
Thought I'd have a play.... this is a fix, but I don't know if it is the correct or complete fix
Added this to the sample application's reflect-config.json
[
{
"name" : "org.thymeleaf.extras.springsecurity5.auth.Authorization",
"methods": [
{
"name": "expression",
"parameterTypes": ["java.lang.String"]
}
]
}
]
Based on further issues with thymeleaf + security I had to add another method to my reflect-config.json
[
{
"name" : "org.thymeleaf.extras.springsecurity5.auth.Authorization",
"methods": [
{
"name": "expression",
"parameterTypes": ["java.lang.String"]
},
{
"name": "getAuthentication"
}
]
}
]
But no idea if this fix is valid even though it seems to work
Useful feedback thanks, this is expected since SpEL is using reflection at runtime, you can follow #167 which would avoid that need by moving SpEL compilation to build time.
Found what looks like an issue in the spring security + thymeleaf support while trying to run my app with spring native.
The failure is with the following template fragment
The image is built and the container runs, but the page throws a 500 when accessed. So I pasted this fragment into the
hello.html
template in thespring-native
security-thymeleaf sample project. It works fine when I run the project in the IDE. I get a success message when I run./build.sh
in the sample dir. But if I runand navigate to
http://localhost:8080
click the link and sign in I get a 500 whitelabel error page with the following stack trace in the logThanks in advance, let me know if you need anything else