解决jeesite问题java.lang.String cannot be cast to SystemAuthorizingRealm问题

解决jeesite问题java.lang.String cannot be cast to SystemAuthorizingRealm问题


这些天在jeesite项目上进行二次开发,遇到许多莫名其妙的问题,在项目运行的过程中没有任何错误,项目就跑不起来了,报的是如下错误。网上找了半天没有找到解决办法。

ERROR [500.jsp] - java.lang.String cannot be cast to com.thinkgem.jeesite.modules.sys.security.SystemAuthorizingRealm$Principal
java.lang.ClassCastException: java.lang.String cannot be cast to com.thinkgem.jeesite.modules.sys.security.SystemAuthorizingRealm$Principal
at com.thinkgem.jeesite.modules.sys.utils.UserUtils.getPrincipal(UserUtils.
at com.thinkgem.jeesite.modules.sys.utils.UserUtils.getUser(UserUtils.java:122)
at com.thinkgem.jeesite.common.persistence.BaseEntity.getCurrentUser(BaseEntity.java:80)
at com.thinkgem.jeesite.modules.cms.service.SiteService.findPage(SiteService.java:34)
at com.thinkgem.jeesite.modules.cms.service.SiteService

问题分析

首先可以确定相同的代码,在其他组员电脑上可以正常运行,不是代码的问题。
那么问题肯定处在了开发环境上。
我猜测可能是代码缓存问题,于是我把idea编译器和项目都清理了一遍,但没能解决这个问题。
再后来一次偶然的机会发现我这个问题主要发生在火狐浏览器(个人倾向于使用火狐浏览器,配合firebug非常给力),使用google或者edge都不会出问题。

看看火狐的请求

单从请求也发现不了什么问题,但是缓存里竟然有东西


对比一下火狐和edge的请求cookie参数,便会发现火狐多了一些参数


所以这个问题的解决方法就是将浏览器的清理后再进行调试。当然也可以打开隐私模式进行开发,在隐私模式浏览器不会自动保存缓存。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,002评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 今日与合伙人一起互生本月工作计划 制定阶段性目标 成立《八大系统》推广项目组 石家庄产业生态智慧报名2人 参加线上...
    全息心空间阅读 297评论 0 0
  • 窗外淅淅沥沥的小雨敲打在窗子上发出轻微的声响,深秋的雨带着丝丝的凉意侵入心底,带走了属于夏天的最后一点温度。 街上...
    夏至以沫阅读 408评论 0 1
  • 睡过几人的床榻,又爱过几人的正当年华,以为温酒不烈,便接二连三 ,你不断搓揉着凌乱的头发,忧伤地问我爱是什么,我一...
    流经他年阅读 240评论 2 2