- Timestamp:
- 2012-04-12T13:56:09+12:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/core/URLFilter.java
r25309 r25350 28 28 private FilterConfig _filterConfig = null; 29 29 private static Logger _logger = Logger.getLogger(org.greenstone.gsdl3.core.URLFilter.class.getName()); 30 30 31 31 //Restricted URLs 32 32 protected static final String SITECONFIG_URL = "sites/[^/]+/siteConfig.xml"; … … 58 58 59 59 String url = hRequest.getRequestURI().toString(); 60 61 if (isURLRestricted(url))60 61 if (isURLRestricted(url)) 62 62 { 63 63 response.getWriter().println("Access to this page is forbidden."); 64 64 return; 65 65 } 66 66 67 67 if (url.contains("/index/assoc/")) 68 68 { … … 135 135 136 136 Element metaResponse = (Element) gsRouter.process(metaMessage); 137 GSXML.printXMLNode(metaResponse, true); 138 137 139 138 NodeList metadataList = metaResponse.getElementsByTagName(GSXML.METADATA_ELEM); 140 if (metadataList.getLength() == 0)139 if (metadataList.getLength() == 0) 141 140 { 142 141 _logger.error("Could not find the document related to this url"); … … 144 143 else 145 144 { 146 Element metadata = (Element) metadataList.item(0);145 Element metadata = (Element) metadataList.item(0); 147 146 String document = metadata.getTextContent(); 148 147 149 148 //Get the security info for this collection 150 149 Element securityMessage = gsDoc.createElement(GSXML.MESSAGE_ELEM); … … 158 157 Element securityResponse = (Element) GSXML.getChildByTagName(gsRouter.process(securityMessage), GSXML.RESPONSE_ELEM); 159 158 ArrayList<String> groups = GSXML.getGroupsFromSecurityResponse(securityResponse); 160 159 161 160 if (!groups.contains("")) 162 161 { … … 164 163 for (String group : groups) 165 164 { 166 if (((HttpServletRequest) request).isUserInRole(group))165 if (((HttpServletRequest) request).isUserInRole(group)) 167 166 { 168 167 found = true; … … 170 169 } 171 170 } 172 173 if (!found)171 172 if (!found) 174 173 { 175 174 return; … … 196 195 gRequest.setParameter(GSParams.DOCUMENT, segments[i + 1]); 197 196 198 additionalParameters = new String[] { GSParams.ACTION, GSParams.DOCUMENT_TYPE , DocumentAction.EXPAND_DOCUMENT_ARG};199 defaultParamValues = new String[] { "d", "hierarchy" , "1"};197 additionalParameters = new String[] { GSParams.ACTION, GSParams.DOCUMENT_TYPE }; 198 defaultParamValues = new String[] { "d", "hierarchy" }; 200 199 } 201 200 //PAGE … … 213 212 214 213 gRequest.setParameter("s1.authpage", pageName); 215 214 216 215 additionalParameters = new String[] { GSParams.ACTION, GSParams.REQUEST_TYPE, GSParams.SUBACTION, GSParams.SERVICE }; 217 216 defaultParamValues = new String[] { "g", "r", "authen", "Authentication" }; … … 306 305 } 307 306 } 308 307 309 308 private boolean isURLRestricted(String url) 310 309 { 311 for (String restrictedURL : _restrictedURLs)312 { 313 if (url.matches(".*" + restrictedURL + ".*"))310 for (String restrictedURL : _restrictedURLs) 311 { 312 if (url.matches(".*" + restrictedURL + ".*")) 314 313 { 315 314 return true; … … 341 340 public String getParameter(String paramName) 342 341 { 343 if ( _newParams.containsKey(paramName))344 { 345 return _newParams.get(paramName)[0];342 if (super.getParameter(paramName) != null) 343 { 344 return super.getParameter(paramName); 346 345 } 347 346 else 348 347 { 349 return super.getParameter(paramName); 348 if (_newParams.get(paramName) != null && _newParams.get(paramName)[0] != null) 349 { 350 return _newParams.get(paramName)[0]; 351 } 352 return null; 350 353 } 351 354 } … … 353 356 public String[] getParameterValues(String paramName) 354 357 { 355 if (_newParams.containsKey(paramName)) 358 if (super.getParameterValues(paramName) != null) 359 { 360 return super.getParameterValues(paramName); 361 } 362 else 356 363 { 357 364 return _newParams.get(paramName); 358 }359 else360 {361 return super.getParameterValues(paramName);362 365 } 363 366 }
Note:
See TracChangeset
for help on using the changeset viewer.