解决jeesite开发java.lang.String cannot be cast to com.thinkgem.jeesite.modules.sys.security.SystemAuthor...

解决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都不会出问题。

看看火狐的请求
947418-20161104200024408-1605278472.png

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

对比一下火狐和edge的请求cookie参数,便会发现火狐多了一些参数
947418-20161104200108033-58101512.png

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

转载于:https://www.cnblogs.com/wwyz/p/6031538.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值