• 请求帮助
  • Cache key: [cache_lock_login_auth] has been expired

现象: 博客后台一登陆进去就显示token过期

spring的日志显示如下:
我之前是在网站前面套了个cdn,并且缓存html、css、js等文件。
并且在nginx中也开启了proxy_cache
cdn>nginx_proxy_cache>halo

后来发现token过期的问题,就直接将cdn+nginx的cache都取消了 现在是什么都没加直接解析到源站
所以问下spring里的cache_key记录的是什么? halo的缓存是在./halo文件夹中 还是写到数据库中了?

2021-01-17 15:34:44.921 WARN 1 --- [tp2115628016-13] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:34:44.921 ERROR 1 --- [tp2115628016-13] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [4badb3d7e1bc4796810ea7566a54954e]
2021-01-17 15:34:52.727 WARN 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:34:52.728 ERROR 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [97b02cffee594dc4b43b53383e8c5394]
2021-01-17 15:34:58.332 WARN 1 --- [tp2115628016-11] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:34:58.333 ERROR 1 --- [tp2115628016-11] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [97b02cffee594dc4b43b53383e8c5394]
2021-01-17 15:35:01.474 WARN 1 --- [tp2115628016-11] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:35:01.474 ERROR 1 --- [tp2115628016-11] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [eaa00fa1a8344e5fa0f41baf63125993]
2021-01-17 15:35:04.566 WARN 1 --- [tp2115628016-13] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:35:04.566 ERROR 1 --- [tp2115628016-13] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [eaa00fa1a8344e5fa0f41baf63125993]
2021-01-17 15:35:04.593 ERROR 1 --- [tp2115628016-13] r.h.app.core.ControllerExceptionHandler : Captured an exception: [登录状态已失效,请重新登录]
2021-01-17 15:35:54.826 WARN 1 --- [ Timer-0] run.halo.app.cache.AbstractCacheStore : Cache key: [cache_lock_public run.halo.app.security.token.AuthToken run.halo.app.controller.admin.api.AdminController.refresh(java.lang.String)] has been expired
^@^@^@2021-01-17 15:39:33.534 WARN 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:39:33.535 ERROR 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [ec375a5131384abdaa9b3ead01414906]
2021-01-17 15:39:37.097 ERROR 1 --- [tp2115628016-11] r.h.app.core.ControllerExceptionHandler : Captured an exception: [登录状态已失效,请重新登录]
2021-01-17 15:39:54.826 WARN 1 --- [ Timer-0] run.halo.app.cache.AbstractCacheStore : Cache key: [cache_lock_public run.halo.app.security.token.AuthToken run.halo.app.controller.admin.api.AdminController.refresh(java.lang.String)] has been expired
2021-01-17 15:39:54.826 WARN 1 --- [ Timer-0] run.halo.app.cache.AbstractCacheStore : Cache key: [cache_lock_login_precheck] has been expired
^@2021-01-17 15:40:34.622 WARN 1 --- [tp2115628016-11] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:40:34.622 ERROR 1 --- [tp2115628016-11] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [未登录,请登录后访问], status: [401 UNAUTHORIZED], data: [null]
2021-01-17 15:40:54.826 WARN 1 --- [ Timer-0] run.halo.app.cache.AbstractCacheStore : Cache key: [cache_lock_login_auth] has been expired
^@2021-01-17 15:41:43.966 WARN 1 --- [tp2115628016-13] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:41:43.967 ERROR 1 --- [tp2115628016-13] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [fadf21aec70342fb8d0e1a3df7c01a84]
2021-01-17 15:41:43.995 WARN 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:41:43.995 ERROR 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [fadf21aec70342fb8d0e1a3df7c01a84]
2021-01-17 15:41:44.153 WARN 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:41:44.153 ERROR 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [fadf21aec70342fb8d0e1a3df7c01a84]
2021-01-17 15:41:50.125 WARN 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:41:50.126 ERROR 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [未登录,请登录后访问], status: [401 UNAUTHORIZED], data: [null]
2021-01-17 15:41:54.826 WARN 1 --- [ Timer-0] run.halo.app.cache.AbstractCacheStore : Cache key: [cache_lock_login_precheck] has been expired
^@^@^@2021-01-17 15:45:10.596 WARN 1 --- [tp2115628016-14] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:45:10.597 ERROR 1 --- [tp2115628016-14] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [dd764e9d84ec4ae1ac36dc5b4e4df108]
2021-01-17 15:45:10.692 WARN 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Handle unsuccessful authentication, ip: [111.201.236.218]
2021-01-17 15:45:10.692 ERROR 1 --- [tp2115628016-15] .s.h.DefaultAuthenticationFailureHandler : Authentication failure: [Token 已过期或不存在], status: [401 UNAUTHORIZED], data: [dd764e9d84ec4ae1ac36dc5b4e4df108]
^@2021-01-17 15:45:54.826 WARN 1 --- [ Timer-0] run.halo.app.cache.AbstractCacheStore : Cache key: [cache_lock_public run.halo.app.security.token.AuthToken run.halo.app.controller.admin.api.AdminController.refresh(java.lang.String)] has been expired
2021-01-17 15:45:54.826 WARN 1 --- [ Timer-0] run.halo.app.cache.AbstractCacheStore : Cache key: [cache_lock_login_precheck] has been expired
2021-01-17 15:45:54.826 WARN 1 --- [ Timer-0] run.halo.app.cache.AbstractCacheStore : Cache key: [cache_lock_login_auth] has been expired

    slug不能为空 是因为FlywaySql的问题吗? @Ryan Wang 👍

    Caused by: org.flywaydb.core.internal.sqlscript.FlywaySqlScriptException:

    Migration V3__migrate_1.3.0-beta.1_to_1.3.0-beta.2.sql failed

    SQL State : 23000
    Error Code : 1048
    Message : Column 'slug' cannot be null
    Location : migration/V3migrate_1.3.0-beta.1_to_1.3.0-beta.2.sql (/file:/halo-latest.jar!/BOOT-INF/classes!/migration/V3migrate_1.3.0-beta.1_to_1.3.0-beta.2.sql)
    Line : 3
    Statement : -- Migrate posts Table
    update posts set slug=url

        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.handleException(DefaultSqlScriptExecutor.java:275) ~[flyway-core-6.5.0.jar!/:na]
        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:220) ~[flyway-core-6.5.0.jar!/:na]
        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.execute(DefaultSqlScriptExecutor.java:127) ~[flyway-core-6.5.0.jar!/:na]
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.executeOnce(SqlMigrationExecutor.java:88) ~[flyway-core-6.5.0.jar!/:na]
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.access$000(SqlMigrationExecutor.java:33) ~[flyway-core-6.5.0.jar!/:na]
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor$1.call(SqlMigrationExecutor.java:77) ~[flyway-core-6.5.0.jar!/:na]
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor$1.call(SqlMigrationExecutor.java:74) ~[flyway-core-6.5.0.jar!/:na]
        at org.flywaydb.core.internal.database.DefaultExecutionStrategy.execute(DefaultExecutionStrategy.java:28) ~[flyway-core-6.5.0.jar!/:na]
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.execute(SqlMigrationExecutor.java:74) ~[flyway-core-6.5.0.jar!/:na]
        at org.flywaydb.core.internal.command.DbMigrate.doMigrateGroup(DbMigrate.java:366) ~[flyway-core-6.5.0.jar!/:na]
        ... 40 common frames omitted

    Caused by: java.sql.SQLIntegrityConstraintViolationException: Column 'slug' cannot be null
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) ~[mysql-connector-java-8.0.21.jar!/:8.0.21]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.21.jar!/:8.0.21]
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.21.jar!/:8.0.21]
    at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:764) ~[mysql-connector-java-8.0.21.jar!/:8.0.21]
    at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:648) ~[mysql-connector-java-8.0.21.jar!/:8.0.21]
    at org.flywaydb.core.internal.jdbc.JdbcTemplate.executeStatement(JdbcTemplate.java:244) ~[flyway-core-6.5.0.jar!/:na]
    at org.flywaydb.core.internal.sqlscript.ParsedSqlStatement.execute(ParsedSqlStatement.java:111) ~[flyway-core-6.5.0.jar!/:na]
    at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:208) ~[flyway-core-6.5.0.jar!/:na]

      flynn 请问你是从哪个版本升级的?出现这种情况可能是因为你原有的文章表中有 url 是空的。建议检查一下,然后删掉 flyway_history 表,重新启动。

        flynn 正常的业务日志,除非你在使用中出现了问题,否则没有必要关心。

        Ryan Wang 👍 已经将posts表的url字段都填充了 现在报错 slug=slug_name 是还缺哪个吗?
        我没有升级,我是运行正常的时候 将flyway_history 表清空了 然后在启动就有这个报错了 看起来你说的url为空都是我之前保存的草稿 所以那部分没有url

        `Caused by: org.flywaydb.core.internal.sqlscript.FlywaySqlScriptException:

        Migration V3__migrate_1.3.0-beta.1_to_1.3.0-beta.2.sql failed

        SQL State : 23000
        Error Code : 1048
        Message : Column 'slug' cannot be null
        Location : migration/V3migrate_1.3.0-beta.1_to_1.3.0-beta.2.sql (/file:/halo-latest.jar!/BOOT-INF/classes!/migration/V3migrate_1.3.0-beta.1_to_1.3.0-beta.2.sql)
        Line : 9
        Statement : -- Migrate categories Table
        update categories set slug=slug_name
        `

          Ryan Wang 👍 之前1.3.2吧 记不大清楚了 反正是比较新的 参考的这个答案是重搞 我的db备份有的 我重新拉个😂image 单独恢复文章吧

            flynn 建议以后有更新尽量就更新了,不要跨过多的版本更新。

            你要重装的话,建议导出数据(小工具->博客备份->数据导出),重新安装的时候在最后一步导入就行了。

              flynn 这个问题的原因是你之前有某些分类的 slug_name 为空,我们在新版本就是为了避免 slug 为空,所以加了约束,才导致你升级出现了这个问题,你可以先找找哪些分类的 slug name 为空,补上之后清空 flyway_history 重启试试。