forked from Archives/Athou_commafeed
create a demo user on startup and prevent any profile modification
This commit is contained in:
@@ -34,7 +34,8 @@ import com.google.api.client.util.Lists;
|
|||||||
public class StartupBean {
|
public class StartupBean {
|
||||||
|
|
||||||
private static Logger log = LoggerFactory.getLogger(StartupBean.class);
|
private static Logger log = LoggerFactory.getLogger(StartupBean.class);
|
||||||
public static final String ADMIN_NAME = "admin";
|
public static final String USERNAME_ADMIN = "admin";
|
||||||
|
public static final String USERNAME_DEMO = "demo";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
FeedDAO feedDAO;
|
FeedDAO feedDAO;
|
||||||
@@ -83,8 +84,9 @@ public class StartupBean {
|
|||||||
private void initialData() {
|
private void initialData() {
|
||||||
log.info("Populating database with default values");
|
log.info("Populating database with default values");
|
||||||
applicationSettingsService.save(new ApplicationSettings());
|
applicationSettingsService.save(new ApplicationSettings());
|
||||||
userService.register(ADMIN_NAME, "admin",
|
userService.register(USERNAME_ADMIN, "admin",
|
||||||
Arrays.asList(Role.ADMIN, Role.USER));
|
Arrays.asList(Role.ADMIN, Role.USER));
|
||||||
|
userService.register(USERNAME_DEMO, "demo", Arrays.asList(Role.USER));
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getStartupTime() {
|
public long getStartupTime() {
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ public class AdminREST extends AbstractResourceREST {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
User user = userDAO.findById(id);
|
User user = userDAO.findById(id);
|
||||||
if (StartupBean.ADMIN_NAME.equals(user.getName())
|
if (StartupBean.USERNAME_ADMIN.equals(user.getName())
|
||||||
&& !userModel.isEnabled()) {
|
&& !userModel.isEnabled()) {
|
||||||
return Response.status(Status.FORBIDDEN)
|
return Response.status(Status.FORBIDDEN)
|
||||||
.entity("You cannot disable the admin user.").build();
|
.entity("You cannot disable the admin user.").build();
|
||||||
@@ -75,7 +75,7 @@ public class AdminREST extends AbstractResourceREST {
|
|||||||
if (userModel.isAdmin() && !roles.contains(Role.ADMIN)) {
|
if (userModel.isAdmin() && !roles.contains(Role.ADMIN)) {
|
||||||
userRoleDAO.save(new UserRole(user, Role.ADMIN));
|
userRoleDAO.save(new UserRole(user, Role.ADMIN));
|
||||||
} else if (!userModel.isAdmin() && roles.contains(Role.ADMIN)) {
|
} else if (!userModel.isAdmin() && roles.contains(Role.ADMIN)) {
|
||||||
if (StartupBean.ADMIN_NAME.equals(user.getName())) {
|
if (StartupBean.USERNAME_ADMIN.equals(user.getName())) {
|
||||||
return Response
|
return Response
|
||||||
.status(Status.FORBIDDEN)
|
.status(Status.FORBIDDEN)
|
||||||
.entity("You cannot remove the admin role from the admin user.")
|
.entity("You cannot remove the admin role from the admin user.")
|
||||||
@@ -146,7 +146,7 @@ public class AdminREST extends AbstractResourceREST {
|
|||||||
if (user == null) {
|
if (user == null) {
|
||||||
return Response.status(Status.NOT_FOUND).build();
|
return Response.status(Status.NOT_FOUND).build();
|
||||||
}
|
}
|
||||||
if (StartupBean.ADMIN_NAME.equals(user.getName())) {
|
if (StartupBean.USERNAME_ADMIN.equals(user.getName())) {
|
||||||
return Response.status(Status.FORBIDDEN)
|
return Response.status(Status.FORBIDDEN)
|
||||||
.entity("You cannot delete the admin user.").build();
|
.entity("You cannot delete the admin user.").build();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,11 @@ import javax.ws.rs.core.Response.Status;
|
|||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
|
import com.commafeed.backend.StartupBean;
|
||||||
import com.commafeed.backend.model.User;
|
import com.commafeed.backend.model.User;
|
||||||
import com.commafeed.backend.model.UserRole;
|
import com.commafeed.backend.model.UserRole;
|
||||||
import com.commafeed.backend.model.UserSettings;
|
|
||||||
import com.commafeed.backend.model.UserRole.Role;
|
import com.commafeed.backend.model.UserRole.Role;
|
||||||
|
import com.commafeed.backend.model.UserSettings;
|
||||||
import com.commafeed.backend.model.UserSettings.ReadingMode;
|
import com.commafeed.backend.model.UserSettings.ReadingMode;
|
||||||
import com.commafeed.backend.model.UserSettings.ReadingOrder;
|
import com.commafeed.backend.model.UserSettings.ReadingOrder;
|
||||||
import com.commafeed.frontend.model.Settings;
|
import com.commafeed.frontend.model.Settings;
|
||||||
@@ -89,6 +90,9 @@ public class UserREST extends AbstractResourceREST {
|
|||||||
public Response save(
|
public Response save(
|
||||||
@ApiParam(required = true) ProfileModificationRequest request) {
|
@ApiParam(required = true) ProfileModificationRequest request) {
|
||||||
User user = getUser();
|
User user = getUser();
|
||||||
|
if (StartupBean.USERNAME_DEMO.equals(user.getName())) {
|
||||||
|
return Response.status(Status.UNAUTHORIZED).build();
|
||||||
|
}
|
||||||
user.setEmail(request.getEmail());
|
user.setEmail(request.getEmail());
|
||||||
if (StringUtils.isNotBlank(request.getPassword())) {
|
if (StringUtils.isNotBlank(request.getPassword())) {
|
||||||
byte[] password = encryptionService.getEncryptedPassword(
|
byte[] password = encryptionService.getEncryptedPassword(
|
||||||
|
|||||||
Reference in New Issue
Block a user