protected void checkMembershipValidity(RequestContext context) { VOMSUser u = context.getVOMSUser(); VOMSRequest r = context.getRequest(); if (u.isSuspended()) { failResponse( context, VOMSErrorMessage.suspendedUser( r.getHolderSubject(), r.getHolderIssuer(), u.getSuspensionReason())); context.setHandled(true); return; } Certificate cert = u.getCertificate(r.getHolderSubject(), r.getHolderIssuer()); if (cert.isSuspended()) { failResponse( context, VOMSErrorMessage.suspendedCertificate( cert.getSubjectString(), cert.getCa().getSubjectString(), cert.getSuspensionReason())); } }
public void setUser(User user) throws RemoteException, VOMSException { log.info("setUser(" + StringUtils.join(new Object[] {user}, ',') + ");"); if (user == null) throw new NullArgumentException("User passed as argument is null!"); VOMSUser u = (VOMSUser) FindUserOperation.instance(user.getDN(), user.getCA()).execute(); if (u == null) throw new NoSuchUserException( "User (" + user.getDN() + "," + user.getCA() + ") not found in database!"); Validator.validateUser(user); u.fromUser(user); UpdateUserOperation.instance(u).execute(); }
public User getUser(String username, String userca) throws RemoteException, VOMSException { log.info("getUser(" + StringUtils.join(new Object[] {username, userca}, ',') + ");"); try { VOMSUser u = (VOMSUser) FindUserOperation.instance(username, userca).execute(); if (u == null) return null; else return u.asUser(); } catch (RuntimeException e) { ServiceExceptionHelper.handleServiceException(log, e); throw e; } }
public User[] listMembers(String groupname) throws RemoteException, VOMSException { log.info("listMembers(" + StringUtils.join(new Object[] {groupname}, ',') + ");"); if (groupname == null || groupname.equals("")) groupname = "/" + VOMSConfiguration.instance().getVOName(); try { List<VOMSUser> members = (List<VOMSUser>) ListMembersOperation.instance(groupname).execute(); HibernateFactory.commitTransaction(); return VOMSUser.collectionAsUsers(members); } catch (RuntimeException e) { ServiceExceptionHelper.handleServiceException(log, e); throw e; } }
public User[] listUsersWithRole(String groupname, String rolename) throws RemoteException, VOMSException { log.info( "listUsersWithRole(" + StringUtils.join(new Object[] {groupname, rolename}, ',') + ");"); try { if (!PathNamingScheme.isRole(rolename)) rolename = "Role=" + rolename; String contextString = groupname + "/" + rolename; List members = (List) ListMembersOperation.instance(contextString).execute(); HibernateFactory.commitTransaction(); return VOMSUser.collectionAsUsers(members); } catch (RuntimeException e) { ServiceExceptionHelper.handleServiceException(log, e); throw e; } }