Changeset 5506
- Timestamp:
- 07/31/14 12:36:37 (10 years ago)
- Location:
- VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/Application.java
r5504 r5506 1 1 package eu.clarin.cmdi.virtualcollectionregistry.gui; 2 2 3 import eu.clarin.cmdi.virtualcollectionregistry.AdminUsersService; 3 4 import eu.clarin.cmdi.virtualcollectionregistry.DataStore; 4 5 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistry; … … 10 11 import eu.clarin.cmdi.virtualcollectionregistry.gui.pages.LoginPage; 11 12 import eu.clarin.cmdi.virtualcollectionregistry.gui.pages.VirtualCollectionDetailsPage; 12 import java.io.BufferedReader;13 import java.io.FileInputStream;14 import java.io.IOException;15 import java.io.InputStreamReader;16 import java.util.HashSet;17 import java.util.Set;18 13 import org.apache.wicket.Page; 19 14 import org.apache.wicket.authentication.AuthenticatedWebApplication; … … 39 34 @Autowired 40 35 private DataStore dataStore; 41 42 private static final String CONFIG_PARAM_ADMINDB = "eu.clarin.cmdi.virtualcollectionregistry.admindb"; 43 private final Set<String> adminUsers = new HashSet<>(); 36 @Autowired 37 private AdminUsersService adminUsersService; 44 38 45 39 @Override 46 40 protected void init() { 47 41 super.init(); 42 logger.info("Initialising VCR web application"); 48 43 addComponentInstantiationListener(new SpringComponentInjector(this)); 49 44 50 String s = getServletContext().getInitParameter(CONFIG_PARAM_ADMINDB);51 if (s != null) {52 try {53 loadAdminDatabase(s);54 } catch (IOException e) {55 throw new RuntimeException("Could not load admin user database", e);56 }57 }58 if (adminUsers.isEmpty()) {59 logger.warn("No admin users have been defined");60 } else {61 logger.debug("Admin users: {}", adminUsers);62 }63 45 getMarkupSettings().setDefaultMarkupEncoding("utf-8"); 64 46 getRequestCycleSettings().setResponseRequestEncoding("utf-8"); … … 67 49 new LeastRecentlyAccessedEvictionStrategy(3)); 68 50 if (!DEPLOYMENT.equals(getConfigurationType())) { 51 logger.warn("Web application configured for development"); 69 52 getMarkupSettings().setStripWicketTags(true); 70 53 getMarkupSettings().setStripComments(true); … … 116 99 return false; 117 100 } 118 119 publicboolean isAdmin(String user) {120 return adminUsers .contains(user);101 102 boolean isAdmin(String user) { 103 return adminUsersService.isAdmin(user); 121 104 } 122 123 private void loadAdminDatabase(String filename) throws IOException { 124 adminUsers.clear(); 125 try (BufferedReader reader = new BufferedReader(new InputStreamReader( 126 new FileInputStream(filename)))) { 127 String line; 128 while ((line = reader.readLine()) != null) { 129 line = line.trim(); 130 if (line.isEmpty() || line.startsWith("#")) { 131 continue; 132 } 133 adminUsers.add(line); 134 } // while 135 } 136 } 137 105 138 106 public VirtualCollectionRegistry getRegistry() { 139 107 return registry; -
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/BasePage.java
r5505 r5506 1 1 package eu.clarin.cmdi.virtualcollectionregistry.gui.pages; 2 2 3 import eu.clarin.cmdi.virtualcollectionregistry. gui.Application;3 import eu.clarin.cmdi.virtualcollectionregistry.AdminUsersService; 4 4 import eu.clarin.cmdi.virtualcollectionregistry.gui.ApplicationSession; 5 5 import java.security.Principal; … … 11 11 import org.apache.wicket.model.IModel; 12 12 import org.apache.wicket.model.Model; 13 import org.apache.wicket.spring.injection.annot.SpringBean; 13 14 14 15 public class BasePage extends WebPage { 16 17 @SpringBean 18 private AdminUsersService adminUsersService; 15 19 16 20 protected BasePage(IModel<?> model) { … … 86 90 protected boolean isUserAdmin() { 87 91 final String userName = getUser().getName(); 88 return userName != null && ((Application)getApplication()).isAdmin(userName);92 return userName != null && adminUsersService.isAdmin(userName); 89 93 } 90 94
Note: See TracChangeset
for help on using the changeset viewer.