记录Linux版JVM的一个bug
(2022-11-08 17:20:09)
标签:
jdk8linuxwindows |
分类: 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;
前一篇:JQ双面板日期范围选择控件
后一篇:Linux命令的英文含义