您的位置:首页 > 运维架构 > Apache

fastjson No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.uti

2017-04-01 00:43 453 查看
1、异常

No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton...

2、情况说明

使用fastjson转换entity为string(String jsonStr=JSON.toJsonString(entity))时报出的异常;

说实话,第一眼看到转json字符串报出SecurityManager异常时,我整个人都蒙b了,这是什么情况?我就是一个实体类转json字符串啊,怎么会爆出这个异常呢?百度这个异常,没有发现一个情况和这个相关。只一步一步的找了。坑死了......

3、原因

entity继承的基类BaseEntity中有一个这样的getter方法,如下:

public String getCurrentAuditor() {
Subject subject = SecurityUtils.getSubject();
if(subject == null) {
return "admin";
}
return subject.getPrincipal().toString();
}

就是这个方法导致了fastjson转化entity为字符串失败,只能先转map再转json字符串了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐