mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
change role to enum
This commit is contained in:
@@ -1,23 +0,0 @@
|
||||
package com.commafeed.frontend.rest;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Inherited;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
import javax.enterprise.util.Nonbinding;
|
||||
import javax.interceptor.InterceptorBinding;
|
||||
|
||||
@Inherited
|
||||
@InterceptorBinding
|
||||
@Target({ ElementType.TYPE, ElementType.METHOD })
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface SecurityCheck {
|
||||
|
||||
/**
|
||||
* Roles needed.
|
||||
*/
|
||||
@Nonbinding
|
||||
String[] value() default {};
|
||||
}
|
||||
@@ -33,11 +33,11 @@ import com.commafeed.backend.dao.UserService;
|
||||
import com.commafeed.backend.dao.UserSettingsService;
|
||||
import com.commafeed.backend.feeds.OPMLImporter;
|
||||
import com.commafeed.backend.model.User;
|
||||
import com.commafeed.backend.model.UserRole.Role;
|
||||
import com.commafeed.backend.security.PasswordEncryptionService;
|
||||
import com.commafeed.backend.security.Role;
|
||||
import com.commafeed.frontend.CommaFeedApplication;
|
||||
import com.commafeed.frontend.CommaFeedSession;
|
||||
import com.commafeed.frontend.rest.SecurityCheck;
|
||||
import com.commafeed.frontend.SecurityCheck;
|
||||
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
@@ -133,11 +133,9 @@ public abstract class AbstractREST {
|
||||
}
|
||||
|
||||
private boolean checkRole(User user, SecurityCheck annotation) {
|
||||
Set<String> roles = userRoleService.getRoles(user);
|
||||
for (String role : annotation.value()) {
|
||||
if (!roles.contains(role)) {
|
||||
return false;
|
||||
}
|
||||
Set<Role> roles = userRoleService.getRoles(user);
|
||||
if (!roles.contains(annotation.value())) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -16,9 +16,9 @@ import org.apache.commons.lang.StringUtils;
|
||||
import com.commafeed.backend.StartupBean;
|
||||
import com.commafeed.backend.model.User;
|
||||
import com.commafeed.backend.model.UserRole;
|
||||
import com.commafeed.backend.security.Role;
|
||||
import com.commafeed.backend.model.UserRole.Role;
|
||||
import com.commafeed.frontend.SecurityCheck;
|
||||
import com.commafeed.frontend.model.UserModel;
|
||||
import com.commafeed.frontend.rest.SecurityCheck;
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
@@ -37,7 +37,7 @@ public class AdminUsersREST extends AbstractREST {
|
||||
if (id == null) {
|
||||
Preconditions.checkNotNull(userModel.getPassword());
|
||||
|
||||
Set<String> roles = Sets.newHashSet(Role.USER);
|
||||
Set<Role> roles = Sets.newHashSet(Role.USER);
|
||||
if (userModel.isAdmin()) {
|
||||
roles.add(Role.ADMIN);
|
||||
}
|
||||
@@ -63,12 +63,12 @@ public class AdminUsersREST extends AbstractREST {
|
||||
user.setDisabled(!userModel.isEnabled());
|
||||
userService.update(user);
|
||||
|
||||
Set<String> roles = userRoleService.getRoles(user);
|
||||
Set<Role> roles = userRoleService.getRoles(user);
|
||||
if (userModel.isAdmin() && !roles.contains(Role.ADMIN)) {
|
||||
userRoleService.save(new UserRole(user, Role.ADMIN));
|
||||
} else if (!userModel.isAdmin() && roles.contains(Role.ADMIN)) {
|
||||
for (UserRole userRole : userRoleService.findAll(user)) {
|
||||
if (Role.ADMIN.equals(userRole.getRole())) {
|
||||
if (userRole.getRole() == Role.ADMIN) {
|
||||
userRoleService.delete(userRole);
|
||||
}
|
||||
}
|
||||
@@ -88,7 +88,7 @@ public class AdminUsersREST extends AbstractREST {
|
||||
userModel.setName(user.getName());
|
||||
userModel.setEnabled(!user.isDisabled());
|
||||
for (UserRole role : userRoleService.findAll(user)) {
|
||||
if (Role.ADMIN.equals(role.getRole())) {
|
||||
if (role.getRole() == Role.ADMIN) {
|
||||
userModel.setAdmin(true);
|
||||
}
|
||||
}
|
||||
@@ -110,7 +110,7 @@ public class AdminUsersREST extends AbstractREST {
|
||||
userModel.setEnabled(!user.isDisabled());
|
||||
users.put(key, userModel);
|
||||
}
|
||||
if (Role.ADMIN.equals(role.getRole())) {
|
||||
if (role.getRole() == Role.ADMIN) {
|
||||
userModel.setAdmin(true);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user