/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.api.plugin.ext.userstore; import java.util.List; import java.util.Set; public interface RemoteUserStore { public Set<UserFieldType> getSupportedFieldTypes(); public boolean authenticate( String userId, String password ); public RemoteUser getUser( String userId ); public List<RemoteUser> getAllUsers(); public RemoteGroup getGroup( String groupId ); public List<RemoteGroup> getAllGroups(); public boolean changePassword( String userId, String password ); public boolean addPrincipal( RemotePrincipal principal ); public boolean updatePrincipal( RemotePrincipal principal ); public boolean removePrincipal( RemotePrincipal principal ); public List<RemotePrincipal> getMembers( RemoteGroup group ); public void addMembers( RemoteGroup group, List<RemotePrincipal> members ); public void removeMembers( RemoteGroup group, List<RemotePrincipal> members ); public List<RemoteGroup> getMemberships( RemotePrincipal principal ); }