private void validateLastUpdated(CouchAuthenticationContext authContext, JSONObject doc) throws Exception{ JSONObject lastUpdated = doc.optJSONObject("nunaliit_last_updated"); if( null == lastUpdated ){ throw new Exception("Document does not contain a 'nunaliit_last_updated' field"); } String userId = lastUpdated.optString("name"); if( null == userId ){ throw new Exception("Document contains a 'nunaliit_last_updated' structure with a missing 'name' field"); } if( false == userId.equals(authContext.getName()) ){ throw new Exception("Identifier found in the 'nunaliit_last_updated' does not match authenticated user"); } }
static public boolean hasAdministratorRole(CouchAuthenticationContext userContext, String atlasName){ if( null == userContext ) { return false; } Collection<String> roles = userContext.getRoles(); if( null == roles ) { return false; } // Figure out acceptable administrator roles Set<String> adminRoles = new HashSet<String>(); adminRoles.add("_admin"); adminRoles.add("administrator"); if( null != atlasName ) { adminRoles.add(atlasName + "_administrator"); } for(String role : roles){ if( adminRoles.contains(role) ) { return true; } } return false; }
,CouchNunaliitConstants.TYPE_ACTION_STAMP ); created.put("name", userContext.getName()); created.put("action", "created"); doc.put(CouchNunaliitConstants.DOC_KEY_CREATED, created); ,CouchNunaliitConstants.TYPE_ACTION_STAMP ); updated.put("name", userContext.getName()); updated.put("action", "updated"); doc.put(CouchNunaliitConstants.DOC_KEY_LAST_UPDATED, updated);
static public boolean hasVetterRole(CouchAuthenticationContext userContext, String atlasName){ if( null == userContext ) { return false; } Collection<String> roles = userContext.getRoles(); if( null == roles ) { return false; } // Figure out acceptable vetter roles Set<String> vetterRoles = new HashSet<String>(); vetterRoles.add("vetter"); if( null != atlasName ) { vetterRoles.add(atlasName + "_vetter"); } for(String role : roles){ if( vetterRoles.contains(role) ) { return true; } } // Administrators are automatically vetters return hasAdministratorRole(userContext, atlasName); }
JSONObject userDoc = userRepository.getUserFromName(context.getName());
public Collection<JSONObject> getUserDocuments(List<String> userIds, Cookie[] cookies) throws Exception { CouchAuthenticationContext context = userRepository.getRolesFromAuthentication(cookies); List<String> roles = context.getRoles();
file.put("attachmentName", attachmentName); file.put("originalName", originalName); file.put("submitter", userContext.getName());