加载中…
个人资料
iPan
iPan
  • 博客等级:
  • 博客积分:0
  • 博客访问:9,074
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

记录Linux版JVM的一个bug

(2022-11-08 17:20:09)
标签:

jdk8

linux

windows

分类: J2EE笔记
public class PermissionVerifier implements PermissionValidator {
public static final PermissionVerifier me = new PermissionVerifier();
private PermissionVerifier() {}

@Override
public boolean hasPermission(HttpServletRequest request, String mark, String... permissions) { // windows优先这个
UserInfo userinfo = UserInfoManager.getUserInfo(request, mark);
if (userinfo == null) {
return false;
}
List roles = userinfo.getRoles();
if (roles == null || roles.size() < 1) {
return false;
}
if (RoleVerifier.me.hasAdminSuperRole(roles)) { // 特殊处理
return true;
}
for (String key : roles) {
List perList = SysRoleService.me.findPermissionByRoleKey(key); // 带缓存,提升性能;
if (perList == null || perList.size() < 1) {
continue;
}
boolean exsits = MoreStringUtil.exsits(perList, permissions);
if (exsits) {
return true;
}
}
return false;
}

@Override
public boolean hasPermission(HttpServletRequest request, String... permissions) { // Linux与windows的虚拟机执行顺序不一样,Linux优化这个;
return hasPermission(request, AppConst.PLATFORM_MANAGER, permissions);
}

}


执行hasPermission(request, mark, "user"),在windows与linux上表现不一致!执行环境jdk8;

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有