hotfix: merge <<< HEAD ---- >>> SHA1 messages stood on the code somehow
This commit is contained in:
@@ -30,16 +30,26 @@ public abstract class AbstractAuthGuard<U, R extends Enum<R> & IUserRole> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int userId = JWTManager.getInstance().extractUserId(token);
|
int userId = JWTManager.getInstance().extractUserId(token);
|
||||||
|
String roleStr = JWTManager.getInstance().extractRole(token);
|
||||||
|
|
||||||
|
R role;
|
||||||
|
try {
|
||||||
|
role = parseRole(roleStr);
|
||||||
|
} catch (Exception e) {
|
||||||
|
JsonUtil.sendJson(ctx, ApiStatus.UNAUTHORIZED, "Invalid role");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.put("userId", userId);
|
||||||
|
ctx.put("role", role);
|
||||||
|
|
||||||
getUserEntity(userId, ctx, entity -> {
|
getUserEntity(userId, ctx, entity -> {
|
||||||
if (entity == null) {
|
if (entity == null) {
|
||||||
JsonUtil.sendJson(ctx, ApiStatus.UNAUTHORIZED, "User not found");
|
JsonUtil.sendJson(ctx, ApiStatus.UNAUTHORIZED, "User not found");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
R userRole = extractRoleFromEntity(entity);
|
if (allowedRoles.length == 0 || isRoleAllowed(role, allowedRoles)) {
|
||||||
|
|
||||||
if (allowedRoles.length == 0 || hasPermission(entity, userRole, allowedRoles)) {
|
|
||||||
ctx.put("userEntity", entity);
|
ctx.put("userEntity", entity);
|
||||||
ctx.next();
|
ctx.next();
|
||||||
} else {
|
} else {
|
||||||
@@ -49,18 +59,8 @@ public abstract class AbstractAuthGuard<U, R extends Enum<R> & IUserRole> {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
protected boolean isRoleAllowed(R role, R... allowedRoles) {
|
protected boolean isRoleAllowed(R role, R... allowedRoles) {
|
||||||
for (R allowed : allowedRoles) {
|
for (R allowed : allowedRoles) if (role == allowed) return true; return false;
|
||||||
if (role == allowed) return true;
|
|
||||||
=======
|
|
||||||
protected R extractRoleFromEntity(U user) {
|
|
||||||
try {
|
|
||||||
return (R) user.getClass().getMethod("getRole").invoke(user);
|
|
||||||
} catch (Exception e) {
|
|
||||||
return null;
|
|
||||||
>>>>>>> refs/remotes/origin/dev
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String extractToken(RoutingContext ctx) {
|
protected String extractToken(RoutingContext ctx) {
|
||||||
|
|||||||
@@ -29,10 +29,8 @@ public class CoreAuthGuard extends AbstractAuthGuard<UserEntity, CoreUserRole> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasPermission(UserEntity member, CoreUserRole userRole, CoreUserRole... allowedRoles) {
|
protected boolean hasPermission(UserEntity user, CoreUserRole userRole) {
|
||||||
if (member == null) return false;
|
return user.getGlobal_role() == CoreUserRole.ADMIN;
|
||||||
if (member.getGlobal_role() == CoreUserRole.ADMIN) return true;
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,14 +34,8 @@ public class HuertosAuthGuard extends AbstractAuthGuard<MemberEntity, HuertosUse
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasPermission(MemberEntity member, HuertosUserRole userRole, HuertosUserRole... allowedRoles) {
|
protected boolean hasPermission(MemberEntity member, HuertosUserRole userRole) {
|
||||||
if (member == null) return false;
|
return member.getRole() == HuertosUserRole.ADMIN;
|
||||||
if (member.getRole() == HuertosUserRole.ADMIN || member.getRole() == HuertosUserRole.DEV) return true;
|
|
||||||
for (HuertosUserRole role : allowedRoles) {
|
|
||||||
if (member.getRole() == role) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
<<<<<<< HEAD
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -77,8 +71,6 @@ public class HuertosAuthGuard extends AbstractAuthGuard<MemberEntity, HuertosUse
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
=======
|
|
||||||
>>>>>>> refs/remotes/origin/dev
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,13 +29,8 @@ public class CineAuthGuard extends AbstractAuthGuard<ViewerEntity, CineUserRole>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasPermission(ViewerEntity member, CineUserRole userRole, CineUserRole... allowedRoles) {
|
protected boolean hasPermission(ViewerEntity user, CineUserRole userRole) {
|
||||||
if (member == null) return false;
|
return user.getRole() == CineUserRole.ADMIN;
|
||||||
if (member.getRole() == CineUserRole.ADMIN) return true;
|
|
||||||
for (CineUserRole role : allowedRoles) {
|
|
||||||
if (member.getRole() == role) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,13 +29,8 @@ public class MMCAuthGuard extends AbstractAuthGuard<PlayerEntity, MMCUserRole> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasPermission(PlayerEntity member, MMCUserRole userRole, MMCUserRole... allowedRoles) {
|
protected boolean hasPermission(PlayerEntity user, MMCUserRole userRole) {
|
||||||
if (member == null) return false;
|
return user.getRole() == MMCUserRole.ADMIN;
|
||||||
if (member.getRole() == MMCUserRole.ADMIN) return true;
|
|
||||||
for (MMCUserRole role : allowedRoles) {
|
|
||||||
if (member.getRole() == role) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user