Eine SerializationException ist aufgetreten, wenn auf Heroku eine Kombination aus Spring Boot (1 Serie) + Spring-Security-Oauth2 + Redis Session ausgeführt wurde. (Dies geschieht nicht mit einer Instanz. Nur mit mehreren Instanzen.)
Wenn Sie die Spring Boot 2-Serie (Spring 5-Serie) verwenden, sollten Sie übrigens die Spring Security 5-Serie verwenden. (Nicht ausprobiert) Es ist besser, wenn es auf die Spring Boot 2-Serie (Spring 5-Serie) aktualisiert werden kann.
Das Problem scheint in spring-security-oauth2 zu liegen. Es gibt zwei Lösungen, die gegoogelt wurden
Wenn es nur 1 ist, ist es fast unmöglich, den Anmeldestatus beizubehalten, da SerializationException bei Heroku häufig auftritt. Bei nur 2 ist es wenig sinnvoll, mehrere Instanzen zu haben, und wenn der Neustart ausgeführt wird, tritt immer noch eine SerializationException auf.
Daher wurden beide Maßnahmen ergriffen. Die Sitzung läuft nur ab, wenn die Heroku-Instanz bereitgestellt und neu gestartet wird, aber ich habe mich entschlossen, eine Weile damit zu arbeiten.
Ich weiß jedoch nicht, wann Heroku neu gestartet wird (es kann bis zu einem gewissen Grad durch jederzeitiges Neustarten gesteuert werden). Häufige Abmeldungen sind für Benutzer stressig.
Um dies zu vermeiden, habe ich mich entschlossen, selbst etwas zu verarbeiten. Ich habe auch beschlossen, es als Bibliothek zu veröffentlichen. -> Erstellte Bibliothek
<dependency>
<groupId>jp.co.ap-com</groupId>
<artifactId>spring-oauth2-serializable</artifactId>
<version>0.0.2</version>
</dependency>
Wenn spring-security-oauth2 gesetzt wurde, ändert der Quellcode einfach "@ EnableOAuth2Sso" in "@ EnableOAuth2Serializable". Es ist jedoch nutzlos, wenn "@ EnableOAuth2Sso" oder "@ EnableOAuth2Client" auch nur an einer Stelle verbleibt.
Klicken Sie hier für die Demo-Anwendung https://github.com/apc-hattori/spring-oauth2-demo
Klicken Sie hier, um den Unterschied beim Ändern ab dem Zeitpunkt von spring-security-oauth2 anzuzeigen https://github.com/apc-hattori/spring-oauth2-demo/compare/use-spring-security-oauth2...master
Recommended Posts