Move permissions and authorization into separate module;
parent
831fc636a4
commit
d2bfa4f7f4
|
|
@ -42,12 +42,12 @@
|
|||
<type>war</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-machine-authentication-ide</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-keycloak-ide</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-plugin-keycloak-ide</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-machine-authentication-ide</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -45,12 +45,12 @@
|
|||
<artifactId>che-core-commons-inject</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-machine-authentication-agent</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-keycloak-server</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-plugin-keycloak-server</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-machine-authentication-agent</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ package org.eclipse.che.wsagent.server;
|
|||
import com.google.inject.servlet.ServletModule;
|
||||
import org.eclipse.che.api.core.cors.CheCorsFilter;
|
||||
import org.eclipse.che.inject.DynaModule;
|
||||
import org.eclipse.che.machine.authentication.agent.MachineLoginFilter;
|
||||
import org.eclipse.che.multiuser.machine.authentication.agent.MachineLoginFilter;
|
||||
import org.everrest.guice.servlet.GuiceEverrestServlet;
|
||||
|
||||
@DynaModule
|
||||
|
|
|
|||
|
|
@ -32,14 +32,6 @@
|
|||
<artifactId>assembly-wsmaster-war</artifactId>
|
||||
<type>war</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-account-permission</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-authorization-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-factory</artifactId>
|
||||
|
|
@ -48,10 +40,6 @@
|
|||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-system</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-user-permission</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-workspace</artifactId>
|
||||
|
|
@ -65,8 +53,40 @@
|
|||
<artifactId>che-core-db-vendor-postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-machine-authentication</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-authorization-impl</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-keycloak-server</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-keycloak-token-provider</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-machine-authentication</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-permission-account</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-permission-factory</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-permission-system</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-permission-user</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-permission-workspace</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
|
|
@ -76,14 +96,6 @@
|
|||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-plugin-docker-machine-auth</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-plugin-keycloak-server</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-plugin-keycloak-token-provider</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
package org.eclipse.che.api.deploy;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import org.eclipse.che.api.permission.server.PermissionChecker;
|
||||
import org.eclipse.che.api.permission.server.PermissionCheckerImpl;
|
||||
import org.eclipse.che.api.user.server.jpa.JpaPreferenceDao;
|
||||
import org.eclipse.che.api.user.server.jpa.JpaUserDao;
|
||||
import org.eclipse.che.api.user.server.spi.PreferenceDao;
|
||||
import org.eclipse.che.api.user.server.spi.UserDao;
|
||||
import org.eclipse.che.inject.DynaModule;
|
||||
import org.eclipse.che.keycloak.server.deploy.KeycloakModule;
|
||||
import org.eclipse.che.multiuser.api.permission.server.PermissionChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.server.PermissionCheckerImpl;
|
||||
import org.eclipse.che.multiuser.keycloak.server.deploy.KeycloakModule;
|
||||
import org.eclipse.che.security.PBKDF2PasswordEncryptor;
|
||||
import org.eclipse.che.security.PasswordEncryptor;
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ package org.eclipse.che.api.deploy;
|
|||
|
||||
import com.google.inject.servlet.ServletModule;
|
||||
import org.eclipse.che.inject.DynaModule;
|
||||
import org.eclipse.che.keycloak.server.deploy.KeycloakServletModule;
|
||||
import org.eclipse.che.multiuser.keycloak.server.deploy.KeycloakServletModule;
|
||||
|
||||
/** @author Max Shaposhnik (mshaposhnik@codenvy.com) */
|
||||
@DynaModule
|
||||
|
|
|
|||
|
|
@ -16,8 +16,14 @@ import org.eclipse.che.api.workspace.server.WorkspaceServiceLinksInjector;
|
|||
import org.eclipse.che.commons.auth.token.HeaderRequestTokenExtractor;
|
||||
import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
|
||||
import org.eclipse.che.inject.DynaModule;
|
||||
import org.eclipse.che.machine.authentication.server.MachineAuthLinksInjector;
|
||||
import org.eclipse.che.machine.authentication.server.interceptor.InterceptorModule;
|
||||
import org.eclipse.che.multiuser.machine.authentication.server.AuthWsAgentHealthChecker;
|
||||
import org.eclipse.che.multiuser.machine.authentication.server.MachineAuthLinksInjector;
|
||||
import org.eclipse.che.multiuser.machine.authentication.server.MachineSessionInvalidator;
|
||||
import org.eclipse.che.multiuser.machine.authentication.server.MachineTokenPermissionsFilter;
|
||||
import org.eclipse.che.multiuser.machine.authentication.server.MachineTokenRegistry;
|
||||
import org.eclipse.che.multiuser.machine.authentication.server.MachineTokenService;
|
||||
import org.eclipse.che.multiuser.machine.authentication.server.WorkspaceServiceAuthLinksInjector;
|
||||
import org.eclipse.che.multiuser.machine.authentication.server.interceptor.InterceptorModule;
|
||||
|
||||
/**
|
||||
* Machine authentification bindings.
|
||||
|
|
@ -31,14 +37,13 @@ public class MachineAuthModule extends AbstractModule {
|
|||
install(new InterceptorModule());
|
||||
bind(MachineLinksInjector.class).to(MachineAuthLinksInjector.class);
|
||||
bind(org.eclipse.che.api.agent.server.WsAgentHealthChecker.class)
|
||||
.to(org.eclipse.che.machine.authentication.server.AuthWsAgentHealthChecker.class);
|
||||
bind(org.eclipse.che.machine.authentication.server.MachineTokenPermissionsFilter.class);
|
||||
bind(org.eclipse.che.machine.authentication.server.MachineTokenService.class);
|
||||
bind(org.eclipse.che.machine.authentication.server.MachineTokenRegistry.class);
|
||||
bind(org.eclipse.che.machine.authentication.server.MachineSessionInvalidator.class);
|
||||
.to(AuthWsAgentHealthChecker.class);
|
||||
bind(MachineTokenPermissionsFilter.class);
|
||||
bind(MachineTokenService.class);
|
||||
bind(MachineTokenRegistry.class);
|
||||
bind(MachineSessionInvalidator.class);
|
||||
bind(RequestTokenExtractor.class).to(HeaderRequestTokenExtractor.class);
|
||||
bind(WorkspaceServiceLinksInjector.class)
|
||||
.to(org.eclipse.che.machine.authentication.server.WorkspaceServiceAuthLinksInjector.class);
|
||||
bind(WorkspaceServiceLinksInjector.class).to(WorkspaceServiceAuthLinksInjector.class);
|
||||
bind(org.eclipse.che.api.environment.server.MachineInstanceProvider.class)
|
||||
.to(org.eclipse.che.plugin.docker.machine.AuthMachineProviderImpl.class);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ package org.eclipse.che.api.deploy;
|
|||
|
||||
import com.google.inject.servlet.ServletModule;
|
||||
import org.eclipse.che.inject.DynaModule;
|
||||
import org.eclipse.che.machine.authentication.server.MachineLoginFilter;
|
||||
import org.eclipse.che.multiuser.machine.authentication.server.MachineLoginFilter;
|
||||
|
||||
/**
|
||||
* Machine authentification bindings.
|
||||
|
|
|
|||
|
|
@ -13,8 +13,9 @@ package org.eclipse.che.api.deploy;
|
|||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.multibindings.Multibinder;
|
||||
import javax.sql.DataSource;
|
||||
import org.eclipse.che.api.permission.server.account.AccountPermissionsChecker;
|
||||
import org.eclipse.che.inject.DynaModule;
|
||||
import org.eclipse.che.multiuser.api.permission.server.account.AccountPermissionsChecker;
|
||||
import org.eclipse.che.multiuser.permission.account.PersonalAccountPermissionsChecker;
|
||||
|
||||
@DynaModule
|
||||
public class MultiUserCheWsMasterModule extends AbstractModule {
|
||||
|
|
@ -22,16 +23,23 @@ public class MultiUserCheWsMasterModule extends AbstractModule {
|
|||
@Override
|
||||
protected void configure() {
|
||||
bind(DataSource.class).toProvider(org.eclipse.che.core.db.JndiDataSourceProvider.class);
|
||||
bind(org.eclipse.che.api.system.server.SystemServicePermissionsFilter.class);
|
||||
install(new org.eclipse.che.api.permission.server.jpa.SystemPermissionsJpaModule());
|
||||
install(new org.eclipse.che.api.permission.server.PermissionsModule());
|
||||
install(new org.eclipse.che.api.workspace.server.WorkspaceApiPermissionsModule());
|
||||
bind(org.eclipse.che.api.user.server.permissions.UserProfileServicePermissionsFilter.class);
|
||||
bind(org.eclipse.che.api.user.server.permissions.UserServicePermissionsFilter.class);
|
||||
bind(org.eclipse.che.api.factory.server.permissions.FactoryPermissionsFilter.class);
|
||||
install(new org.eclipse.che.multiuser.api.permission.server.jpa.SystemPermissionsJpaModule());
|
||||
install(new org.eclipse.che.multiuser.api.permission.server.PermissionsModule());
|
||||
install(
|
||||
new org.eclipse.che.multiuser.permission.workspace.server.WorkspaceApiPermissionsModule());
|
||||
install(
|
||||
new org.eclipse.che.multiuser.permission.workspace.server.jpa
|
||||
.MultiuserWorkspaceJpaModule());
|
||||
|
||||
//Permission filters
|
||||
bind(org.eclipse.che.multiuser.permission.system.SystemServicePermissionsFilter.class);
|
||||
bind(org.eclipse.che.multiuser.permission.user.UserProfileServicePermissionsFilter.class);
|
||||
bind(org.eclipse.che.multiuser.permission.user.UserServicePermissionsFilter.class);
|
||||
bind(org.eclipse.che.multiuser.permission.factory.FactoryPermissionsFilter.class);
|
||||
bind(org.eclipse.che.plugin.activity.ActivityPermissionsFilter.class);
|
||||
|
||||
Multibinder.newSetBinder(binder(), AccountPermissionsChecker.class)
|
||||
.addBinding()
|
||||
.to(org.eclipse.che.account.permission.PersonalAccountPermissionsChecker.class);
|
||||
.to(PersonalAccountPermissionsChecker.class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,11 +54,11 @@
|
|||
|
||||
<class>org.eclipse.che.api.ssh.server.model.impl.SshPairImpl</class>
|
||||
|
||||
<class>org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl</class>
|
||||
<class>org.eclipse.che.api.permission.server.model.impl.AbstractPermissions</class>
|
||||
<class>org.eclipse.che.api.workspace.server.model.impl.WorkerImpl</class>
|
||||
<class>org.eclipse.che.api.workspace.server.stack.StackPermissionsImpl</class>
|
||||
<class>org.eclipse.che.api.machine.server.recipe.RecipePermissionsImpl</class>
|
||||
<class>org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl</class>
|
||||
<class>org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions</class>
|
||||
<class>org.eclipse.che.multiuser.permission.workspace.server.model.impl.WorkerImpl</class>
|
||||
<class>org.eclipse.che.multiuser.permission.workspace.server.stack.StackPermissionsImpl</class>
|
||||
<class>org.eclipse.che.multiuser.permission.machine.recipe.RecipePermissionsImpl</class>
|
||||
|
||||
<exclude-unlisted-classes>true</exclude-unlisted-classes>
|
||||
<properties>
|
||||
|
|
|
|||
|
|
@ -33,8 +33,12 @@ public class CheWsMasterModule extends AbstractModule {
|
|||
bind(org.eclipse.che.api.environment.server.MachineInstanceProvider.class)
|
||||
.to(org.eclipse.che.plugin.docker.machine.MachineProviderImpl.class);
|
||||
|
||||
bind(org.eclipse.che.api.workspace.server.stack.StackLoader.class);
|
||||
bind(DataSource.class).toProvider(org.eclipse.che.core.db.h2.H2DataSourceProvider.class);
|
||||
|
||||
install(new org.eclipse.che.api.user.server.jpa.UserJpaModule());
|
||||
install(new org.eclipse.che.api.workspace.server.jpa.WorkspaceJpaModule());
|
||||
|
||||
bind(org.eclipse.che.api.user.server.CheUserCreator.class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,9 @@ import org.eclipse.che.api.factory.server.FactoryAcceptValidator;
|
|||
import org.eclipse.che.api.factory.server.FactoryCreateValidator;
|
||||
import org.eclipse.che.api.factory.server.FactoryEditValidator;
|
||||
import org.eclipse.che.api.factory.server.FactoryParametersResolver;
|
||||
import org.eclipse.che.api.machine.server.jpa.MachineJpaModule;
|
||||
import org.eclipse.che.api.machine.server.recipe.RecipeLoader;
|
||||
import org.eclipse.che.api.machine.server.recipe.RecipeService;
|
||||
import org.eclipse.che.api.machine.shared.Constants;
|
||||
import org.eclipse.che.api.workspace.server.WorkspaceConfigMessageBodyAdapter;
|
||||
import org.eclipse.che.api.workspace.server.WorkspaceMessageBodyAdapter;
|
||||
|
|
@ -57,8 +59,7 @@ public class WsMasterModule extends AbstractModule {
|
|||
install(new com.google.inject.persist.jpa.JpaPersistModule("main"));
|
||||
install(new org.eclipse.che.account.api.AccountModule());
|
||||
install(new org.eclipse.che.api.ssh.server.jpa.SshJpaModule());
|
||||
install(new org.eclipse.che.api.machine.server.jpa.MachineJpaModule());
|
||||
install(new org.eclipse.che.api.workspace.server.jpa.WorkspaceJpaModule());
|
||||
install(new MachineJpaModule());
|
||||
install(new org.eclipse.che.api.core.jsonrpc.impl.JsonRpcModule());
|
||||
install(new org.eclipse.che.api.core.websocket.impl.WebSocketModule());
|
||||
|
||||
|
|
@ -91,12 +92,11 @@ public class WsMasterModule extends AbstractModule {
|
|||
bind(org.eclipse.che.api.project.server.template.ProjectTemplateRegistry.class);
|
||||
bind(org.eclipse.che.api.project.server.template.ProjectTemplateService.class);
|
||||
bind(org.eclipse.che.api.ssh.server.SshService.class);
|
||||
bind(org.eclipse.che.api.machine.server.recipe.RecipeService.class);
|
||||
bind(RecipeService.class);
|
||||
bind(org.eclipse.che.api.user.server.UserService.class);
|
||||
bind(org.eclipse.che.api.user.server.ProfileService.class);
|
||||
bind(org.eclipse.che.api.user.server.PreferencesService.class);
|
||||
|
||||
bind(org.eclipse.che.api.workspace.server.stack.StackLoader.class);
|
||||
MapBinder<String, String> stacks =
|
||||
MapBinder.newMapBinder(
|
||||
binder(), String.class, String.class, Names.named(StackLoader.CHE_PREDEFINED_STACKS));
|
||||
|
|
@ -133,7 +133,7 @@ public class WsMasterModule extends AbstractModule {
|
|||
new org.eclipse.che.api.machine.server.model.impl.ServerConfImpl(
|
||||
Constants.WSAGENT_DEBUG_REFERENCE, "4403/tcp", "http", null));
|
||||
|
||||
bind(org.eclipse.che.api.machine.server.recipe.RecipeLoader.class);
|
||||
bind(RecipeLoader.class);
|
||||
Multibinder.newSetBinder(
|
||||
binder(), String.class, Names.named(RecipeLoader.CHE_PREDEFINED_RECIPES))
|
||||
.addBinding()
|
||||
|
|
|
|||
|
|
@ -221,8 +221,8 @@
|
|||
<target unless="skipTests">
|
||||
<!-- Run unit tests -->
|
||||
<exec dir="${basedir}" executable="npm" failonerror="true">
|
||||
<arg value="run" />
|
||||
<arg value="test" />
|
||||
<arg value="run" />
|
||||
<arg value="test" />
|
||||
</exec>
|
||||
</target>
|
||||
</configuration>
|
||||
|
|
|
|||
|
|
@ -14,13 +14,13 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-master-parent</artifactId>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-multiuser-api</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>che-core-api-authorization-impl</artifactId>
|
||||
<artifactId>che-multiuser-api-authorization-impl</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Che Core :: API :: Authorization Impl</name>
|
||||
<name>Che Multiuser :: API :: Authorization Impl</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>javax.inject</groupId>
|
||||
|
|
@ -30,10 +30,6 @@
|
|||
<groupId>javax.ws.rs</groupId>
|
||||
<artifactId>javax.ws.rs-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-authorization</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-core</artifactId>
|
||||
|
|
@ -43,12 +39,16 @@
|
|||
<artifactId>che-core-api-dto</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-permission</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-authorization</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-permission-shared</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-permission</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-permission-shared</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import org.eclipse.che.api.core.ConflictException;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
import static org.mockito.Matchers.anyObject;
|
||||
|
|
@ -25,8 +25,8 @@ import javax.ws.rs.core.UriBuilder;
|
|||
import org.eclipse.che.api.core.rest.HttpJsonRequest;
|
||||
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
|
||||
import org.eclipse.che.api.core.rest.HttpJsonResponse;
|
||||
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.dto.server.DtoFactory;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.mockito.testng.MockitoTestNGListener;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Matchers.eq;
|
||||
|
|
@ -14,13 +14,13 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-master-parent</artifactId>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-multiuser-api</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>che-core-api-authorization</artifactId>
|
||||
<artifactId>che-multiuser-api-authorization</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Che Core :: API :: Authorization</name>
|
||||
<name>Che Multiuser :: API :: Authorization</name>
|
||||
<properties>
|
||||
<dto-generator-out-directory>${project.build.directory}/generated-sources/dto/</dto-generator-out-directory>
|
||||
</properties>
|
||||
|
|
@ -54,12 +54,12 @@
|
|||
<artifactId>che-core-api-dto</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-permission</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-permission</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-permission-shared</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-permission-shared</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
|
|
@ -113,8 +113,8 @@
|
|||
</executions>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-permission-shared</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-permission-shared</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
|
@ -123,7 +123,7 @@
|
|||
<package>org.eclipse.che.api.permission.shared.dto</package>
|
||||
</dtoPackages>
|
||||
<outputDirectory>${dto-generator-out-directory}</outputDirectory>
|
||||
<genClassName>org.eclipse.che.api.permission.server.dto.DtoServerImpls</genClassName>
|
||||
<genClassName>org.eclipse.che.multiuser.api.permission.server.dto.DtoServerImpls</genClassName>
|
||||
<impl>server</impl>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import static java.lang.String.format;
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
|
|
@ -24,7 +24,7 @@ import javax.ws.rs.core.UriBuilder;
|
|||
import org.eclipse.che.api.core.NotFoundException;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
|
||||
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
|
||||
|
||||
/**
|
||||
* Implementation of {@link PermissionChecker} that load permissions by http requests to {@link
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import org.eclipse.che.api.core.ConflictException;
|
||||
import org.eclipse.che.api.core.NotFoundException;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
import static org.mockito.Matchers.anyObject;
|
||||
|
|
@ -25,8 +25,8 @@ import javax.ws.rs.core.UriBuilder;
|
|||
import org.eclipse.che.api.core.rest.HttpJsonRequest;
|
||||
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
|
||||
import org.eclipse.che.api.core.rest.HttpJsonResponse;
|
||||
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.dto.server.DtoFactory;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.mockito.testng.MockitoTestNGListener;
|
||||
|
|
@ -14,13 +14,13 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-master-parent</artifactId>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-multiuser-api</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>che-core-api-permission-shared</artifactId>
|
||||
<artifactId>che-multiuser-api-permission-shared</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Che :: Permissions :: Shared</name>
|
||||
<name>Che Multiuser :: Permissions :: Shared</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
|
|
@ -8,11 +8,11 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.shared.dto;
|
||||
package org.eclipse.che.multiuser.api.permission.shared.dto;
|
||||
|
||||
import java.util.List;
|
||||
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
|
||||
import org.eclipse.che.dto.shared.DTO;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
|
||||
|
||||
/** @author Sergii Leschenko */
|
||||
@DTO
|
||||
|
|
@ -8,11 +8,11 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.shared.dto;
|
||||
package org.eclipse.che.multiuser.api.permission.shared.dto;
|
||||
|
||||
import java.util.List;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.dto.shared.DTO;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
|
||||
/** @author Sergii Leschenko */
|
||||
@DTO
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.shared.event;
|
||||
package org.eclipse.che.multiuser.api.permission.shared.event;
|
||||
|
||||
/**
|
||||
* Defines list of event types related to permissions.
|
||||
|
|
@ -8,10 +8,10 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.shared.event;
|
||||
package org.eclipse.che.multiuser.api.permission.shared.event;
|
||||
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.commons.annotation.Nullable;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
|
||||
/**
|
||||
* The base interface for all events related to permissions.
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.shared.model;
|
||||
package org.eclipse.che.multiuser.api.permission.shared.model;
|
||||
|
||||
import java.util.List;
|
||||
import org.eclipse.che.commons.annotation.Nullable;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.shared.model;
|
||||
package org.eclipse.che.multiuser.api.permission.shared.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -14,13 +14,13 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-master-parent</artifactId>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-multiuser-api</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>che-core-api-permission</artifactId>
|
||||
<artifactId>che-multiuser-api-permission</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Che :: Permissions API</name>
|
||||
<name>Che Multiuser :: Permissions API</name>
|
||||
<properties>
|
||||
<dto-generator-out-directory>${project.build.directory}/generated-sources/dto/</dto-generator-out-directory>
|
||||
</properties>
|
||||
|
|
@ -69,10 +69,6 @@
|
|||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-dto</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-permission-shared</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-user</artifactId>
|
||||
|
|
@ -93,6 +89,10 @@
|
|||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-db</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-permission-shared</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.persistence</groupId>
|
||||
<artifactId>eclipselink</artifactId>
|
||||
|
|
@ -194,17 +194,17 @@
|
|||
</executions>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-permission-shared</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-permission-shared</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<configuration>
|
||||
<dtoPackages>
|
||||
<package>org.eclipse.che.api.permission.shared.dto</package>
|
||||
<package>org.eclipse.che.multiuser.api.permission.shared.dto</package>
|
||||
</dtoPackages>
|
||||
<outputDirectory>${dto-generator-out-directory}</outputDirectory>
|
||||
<genClassName>org.ecipse.che.api.permission.server.dto.DtoServerImpls</genClassName>
|
||||
<genClassName>org.ecipse.che.api.multiuser.permission.server.dto.DtoServerImpls</genClassName>
|
||||
<impl>server</impl>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
|
@ -8,15 +8,15 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
|
||||
|
||||
/**
|
||||
* Abstract implementation for {@link PermissionsDomain}
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
|
@ -8,10 +8,10 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import static com.google.common.base.MoreObjects.firstNonNull;
|
||||
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
|
|
@ -31,15 +31,15 @@ import org.eclipse.che.api.core.Page;
|
|||
import org.eclipse.che.api.core.Pages;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.core.notification.EventService;
|
||||
import org.eclipse.che.api.permission.server.event.PermissionsCreatedEvent;
|
||||
import org.eclipse.che.api.permission.server.event.PermissionsRemovedEvent;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.commons.lang.concurrent.StripedLocks;
|
||||
import org.eclipse.che.commons.lang.concurrent.Unlocker;
|
||||
import org.eclipse.che.commons.subject.Subject;
|
||||
import org.eclipse.che.multiuser.api.permission.server.event.PermissionsCreatedEvent;
|
||||
import org.eclipse.che.multiuser.api.permission.server.event.PermissionsRemovedEvent;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
|
||||
/**
|
||||
* Facade for Permissions related operations.
|
||||
|
|
@ -8,18 +8,18 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.multibindings.MapBinder;
|
||||
import com.google.inject.multibindings.Multibinder;
|
||||
import com.google.inject.name.Names;
|
||||
import org.eclipse.che.api.permission.server.account.AccountPermissionsChecker;
|
||||
import org.eclipse.che.api.permission.server.filter.GetPermissionsFilter;
|
||||
import org.eclipse.che.api.permission.server.filter.RemovePermissionsFilter;
|
||||
import org.eclipse.che.api.permission.server.filter.SetPermissionsFilter;
|
||||
import org.eclipse.che.api.permission.server.filter.check.RemovePermissionsChecker;
|
||||
import org.eclipse.che.api.permission.server.filter.check.SetPermissionsChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.server.account.AccountPermissionsChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.GetPermissionsFilter;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.RemovePermissionsFilter;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.SetPermissionsFilter;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.check.RemovePermissionsChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.check.SetPermissionsChecker;
|
||||
|
||||
/** @author Sergii Leschenko */
|
||||
public class PermissionsModule extends AbstractModule {
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import static com.google.common.base.Strings.isNullOrEmpty;
|
||||
import static java.util.Collections.singletonList;
|
||||
|
|
@ -39,13 +39,13 @@ import org.eclipse.che.api.core.Page;
|
|||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.core.rest.Service;
|
||||
import org.eclipse.che.api.core.rest.annotations.Required;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.api.permission.shared.dto.DomainDto;
|
||||
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.dto.server.DtoFactory;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.dto.DomainDto;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
|
||||
|
||||
/**
|
||||
* Defines Permissions REST API
|
||||
|
|
@ -8,14 +8,14 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
|
||||
|
||||
/**
|
||||
* Checks that current subject has privileges to perform some operation without required
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
|
@ -16,7 +16,7 @@ import java.util.stream.Collectors;
|
|||
import java.util.stream.Stream;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
|
||||
/**
|
||||
* Domain for storing actions that are used for managing system e.g. user management, configuration properties management.
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.account;
|
||||
package org.eclipse.che.multiuser.api.permission.server.account;
|
||||
|
||||
/**
|
||||
* Actions that can be performed by users in accounts.
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.account;
|
||||
package org.eclipse.che.multiuser.api.permission.server.account;
|
||||
|
||||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
|
||||
|
|
@ -8,14 +8,14 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.event;
|
||||
package org.eclipse.che.multiuser.api.permission.server.event;
|
||||
|
||||
import static org.eclipse.che.api.permission.shared.event.EventType.PERMISSIONS_ADDED;
|
||||
import static org.eclipse.che.multiuser.api.permission.shared.event.EventType.PERMISSIONS_ADDED;
|
||||
|
||||
import org.eclipse.che.api.permission.shared.event.EventType;
|
||||
import org.eclipse.che.api.permission.shared.event.PermissionsEvent;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.commons.annotation.Nullable;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.event.EventType;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.event.PermissionsEvent;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
|
||||
/**
|
||||
* Defines permissions added events.
|
||||
|
|
@ -8,14 +8,14 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.event;
|
||||
package org.eclipse.che.multiuser.api.permission.server.event;
|
||||
|
||||
import static org.eclipse.che.api.permission.shared.event.EventType.PERMISSIONS_REMOVED;
|
||||
import static org.eclipse.che.multiuser.api.permission.shared.event.EventType.PERMISSIONS_REMOVED;
|
||||
|
||||
import org.eclipse.che.api.permission.shared.event.EventType;
|
||||
import org.eclipse.che.api.permission.shared.event.PermissionsEvent;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.commons.annotation.Nullable;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.event.EventType;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.event.PermissionsEvent;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
|
||||
/**
|
||||
* Defines permissions added events.
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.ws.rs.Path;
|
||||
|
|
@ -19,11 +19,11 @@ import org.eclipse.che.api.core.ConflictException;
|
|||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
import org.eclipse.che.api.core.NotFoundException;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.api.permission.server.PermissionsManager;
|
||||
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.everrest.CheMethodInvokerFilter;
|
||||
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.multiuser.api.permission.server.PermissionsManager;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.everrest.core.Filter;
|
||||
import org.everrest.core.resource.GenericResourceMethod;
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.ws.rs.Path;
|
||||
|
|
@ -18,12 +18,12 @@ import org.eclipse.che.api.core.BadRequestException;
|
|||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
import org.eclipse.che.api.core.NotFoundException;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.api.permission.server.filter.check.DomainsPermissionsCheckers;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.commons.subject.Subject;
|
||||
import org.eclipse.che.everrest.CheMethodInvokerFilter;
|
||||
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.check.DomainsPermissionsCheckers;
|
||||
import org.everrest.core.Filter;
|
||||
import org.everrest.core.resource.GenericResourceMethod;
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter;
|
||||
|
||||
import static com.google.common.base.Strings.isNullOrEmpty;
|
||||
|
||||
|
|
@ -18,11 +18,11 @@ import org.eclipse.che.api.core.BadRequestException;
|
|||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
import org.eclipse.che.api.core.NotFoundException;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.api.permission.server.filter.check.DomainsPermissionsCheckers;
|
||||
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.everrest.CheMethodInvokerFilter;
|
||||
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.check.DomainsPermissionsCheckers;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
|
||||
import org.everrest.core.Filter;
|
||||
import org.everrest.core.resource.GenericResourceMethod;
|
||||
|
||||
|
|
@ -8,9 +8,9 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter.check;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter.check;
|
||||
|
||||
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
|
|
@ -8,14 +8,14 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter.check;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter.check;
|
||||
|
||||
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
|
||||
/**
|
||||
* Common checks while setting permissions.
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter.check;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter.check;
|
||||
|
||||
import java.util.Map;
|
||||
import javax.inject.Inject;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter.check;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter.check;
|
||||
|
||||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
|
||||
|
|
@ -8,10 +8,10 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter.check;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter.check;
|
||||
|
||||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
|
||||
/**
|
||||
* Defines contract for domain specific checks, before set permissions.
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.jpa;
|
||||
package org.eclipse.che.multiuser.api.permission.server.jpa;
|
||||
|
||||
import static java.util.Objects.requireNonNull;
|
||||
|
||||
|
|
@ -21,9 +21,9 @@ import javax.persistence.EntityManager;
|
|||
import org.eclipse.che.api.core.NotFoundException;
|
||||
import org.eclipse.che.api.core.Page;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
|
||||
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
|
||||
|
||||
/**
|
||||
* Basic JPA DAO implementation for {@link Permissions} objects.
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.jpa;
|
||||
package org.eclipse.che.multiuser.api.permission.server.jpa;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static java.lang.String.format;
|
||||
|
|
@ -28,10 +28,10 @@ import org.eclipse.che.api.core.NotFoundException;
|
|||
import org.eclipse.che.api.core.Page;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.core.notification.EventService;
|
||||
import org.eclipse.che.api.permission.server.SystemDomain;
|
||||
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
import org.eclipse.che.api.user.server.event.BeforeUserRemovedEvent;
|
||||
import org.eclipse.che.core.db.cascade.CascadeEventSubscriber;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SystemDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
|
||||
/**
|
||||
* JPA based implementation of system permissions DAO.
|
||||
|
|
@ -8,16 +8,16 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.jpa;
|
||||
package org.eclipse.che.multiuser.api.permission.server.jpa;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.TypeLiteral;
|
||||
import com.google.inject.multibindings.Multibinder;
|
||||
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.api.permission.server.SystemDomain;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
|
||||
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SystemDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
|
||||
|
||||
/** @author Max Shaposhnik */
|
||||
public class SystemPermissionsJpaModule extends AbstractModule {
|
||||
|
|
@ -8,9 +8,9 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.jpa.listener;
|
||||
package org.eclipse.che.multiuser.api.permission.server.jpa.listener;
|
||||
|
||||
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
|
||||
import java.util.List;
|
||||
import javax.annotation.PostConstruct;
|
||||
|
|
@ -20,11 +20,11 @@ import org.eclipse.che.api.core.NotFoundException;
|
|||
import org.eclipse.che.api.core.Page;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.core.notification.EventService;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
|
||||
import org.eclipse.che.api.user.server.event.BeforeUserRemovedEvent;
|
||||
import org.eclipse.che.api.user.server.model.impl.UserImpl;
|
||||
import org.eclipse.che.core.db.cascade.CascadeEventSubscriber;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
|
||||
|
||||
/**
|
||||
* Listens for {@link UserImpl} removal events, and checks if the removing user is the last who have
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.model.impl;
|
||||
package org.eclipse.che.multiuser.api.permission.server.model.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
|
@ -22,8 +22,8 @@ import javax.persistence.PostLoad;
|
|||
import javax.persistence.PrePersist;
|
||||
import javax.persistence.PreUpdate;
|
||||
import javax.persistence.Transient;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.api.user.server.model.impl.UserImpl;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
|
||||
/**
|
||||
* Represents user's permissions to access to some resources
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.model.impl;
|
||||
package org.eclipse.che.multiuser.api.permission.server.model.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -20,7 +20,7 @@ import javax.persistence.FetchType;
|
|||
import javax.persistence.NamedQueries;
|
||||
import javax.persistence.NamedQuery;
|
||||
import javax.persistence.Table;
|
||||
import org.eclipse.che.api.permission.server.SystemDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SystemDomain;
|
||||
|
||||
/**
|
||||
* System permissions data object.
|
||||
|
|
@ -8,15 +8,15 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.spi;
|
||||
package org.eclipse.che.multiuser.api.permission.server.spi;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import org.eclipse.che.api.core.NotFoundException;
|
||||
import org.eclipse.che.api.core.Page;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
|
||||
/**
|
||||
* General contract of storage for permissions. Single Storage may maintain one or more Domains (it
|
||||
|
|
@ -8,11 +8,11 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server;
|
||||
package org.eclipse.che.multiuser.api.permission.server;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
import static java.util.Collections.singletonList;
|
||||
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
|
|
@ -35,12 +35,12 @@ import org.eclipse.che.api.core.NotFoundException;
|
|||
import org.eclipse.che.api.core.Page;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.core.notification.EventService;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
|
||||
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.api.permission.shared.model.PermissionsDomain;
|
||||
import org.eclipse.che.dto.server.DtoFactory;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.PermissionsDomain;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.testng.MockitoTestNGListener;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
|
|
@ -71,7 +71,7 @@ public class PermissionsManagerTest {
|
|||
expectedExceptions = ServerException.class,
|
||||
expectedExceptionsMessageRegExp =
|
||||
"Permissions Domain 'test' should be stored in only one storage. "
|
||||
+ "Duplicated in class org.eclipse.che.api.permission.server.spi.PermissionsDao.* and class org.eclipse.che.api.permission.server.spi.PermissionsDao.*"
|
||||
+ "Duplicated in class org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao.* and class org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao.*"
|
||||
)
|
||||
public void shouldThrowExceptionIfThereAreTwoStoragesWhichServeOneDomain() throws Exception {
|
||||
@SuppressWarnings("unchecked")
|
||||
|
|
@ -8,11 +8,11 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter;
|
||||
|
||||
import static com.jayway.restassured.RestAssured.given;
|
||||
import static java.util.Collections.singletonList;
|
||||
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_NAME;
|
||||
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_PASSWORD;
|
||||
import static org.everrest.assured.JettyHttpServer.SECURE_PATH;
|
||||
|
|
@ -31,14 +31,14 @@ import java.util.List;
|
|||
import org.eclipse.che.api.core.BadRequestException;
|
||||
import org.eclipse.che.api.core.NotFoundException;
|
||||
import org.eclipse.che.api.core.rest.shared.dto.ServiceError;
|
||||
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.api.permission.server.PermissionsManager;
|
||||
import org.eclipse.che.api.permission.server.PermissionsService;
|
||||
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.commons.subject.Subject;
|
||||
import org.eclipse.che.dto.server.DtoFactory;
|
||||
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.multiuser.api.permission.server.PermissionsManager;
|
||||
import org.eclipse.che.multiuser.api.permission.server.PermissionsService;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.everrest.assured.EverrestJetty;
|
||||
import org.everrest.core.Filter;
|
||||
import org.everrest.core.GenericContainerRequest;
|
||||
|
|
@ -8,10 +8,10 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter;
|
||||
|
||||
import static com.jayway.restassured.RestAssured.given;
|
||||
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_NAME;
|
||||
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_PASSWORD;
|
||||
import static org.everrest.assured.JettyHttpServer.SECURE_PATH;
|
||||
|
|
@ -32,14 +32,14 @@ import com.jayway.restassured.response.Response;
|
|||
import org.eclipse.che.api.core.BadRequestException;
|
||||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
import org.eclipse.che.api.core.rest.shared.dto.ServiceError;
|
||||
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.api.permission.server.PermissionsService;
|
||||
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.api.permission.server.filter.check.DomainsPermissionsCheckers;
|
||||
import org.eclipse.che.api.permission.server.filter.check.RemovePermissionsChecker;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.commons.subject.Subject;
|
||||
import org.eclipse.che.dto.server.DtoFactory;
|
||||
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.multiuser.api.permission.server.PermissionsService;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.check.DomainsPermissionsCheckers;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.check.RemovePermissionsChecker;
|
||||
import org.everrest.assured.EverrestJetty;
|
||||
import org.everrest.core.Filter;
|
||||
import org.everrest.core.GenericContainerRequest;
|
||||
|
|
@ -8,10 +8,10 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.filter;
|
||||
package org.eclipse.che.multiuser.api.permission.server.filter;
|
||||
|
||||
import static com.jayway.restassured.RestAssured.given;
|
||||
import static org.eclipse.che.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain.SET_PERMISSIONS;
|
||||
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_NAME;
|
||||
import static org.everrest.assured.JettyHttpServer.ADMIN_USER_PASSWORD;
|
||||
import static org.everrest.assured.JettyHttpServer.SECURE_PATH;
|
||||
|
|
@ -31,16 +31,16 @@ import java.util.Collections;
|
|||
import org.eclipse.che.api.core.BadRequestException;
|
||||
import org.eclipse.che.api.core.ForbiddenException;
|
||||
import org.eclipse.che.api.core.rest.shared.dto.ServiceError;
|
||||
import org.eclipse.che.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.api.permission.server.PermissionsService;
|
||||
import org.eclipse.che.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.api.permission.server.filter.check.DomainsPermissionsCheckers;
|
||||
import org.eclipse.che.api.permission.server.filter.check.SetPermissionsChecker;
|
||||
import org.eclipse.che.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.api.permission.shared.model.Permissions;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.commons.subject.Subject;
|
||||
import org.eclipse.che.dto.server.DtoFactory;
|
||||
import org.eclipse.che.multiuser.api.permission.server.InstanceParameterValidator;
|
||||
import org.eclipse.che.multiuser.api.permission.server.PermissionsService;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SuperPrivilegesChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.check.DomainsPermissionsCheckers;
|
||||
import org.eclipse.che.multiuser.api.permission.server.filter.check.SetPermissionsChecker;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.dto.PermissionsDto;
|
||||
import org.eclipse.che.multiuser.api.permission.shared.model.Permissions;
|
||||
import org.everrest.assured.EverrestJetty;
|
||||
import org.everrest.core.Filter;
|
||||
import org.everrest.core.GenericContainerRequest;
|
||||
|
|
@ -8,18 +8,12 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.jpa;
|
||||
package org.eclipse.che.multiuser.api.permission.server.jpa;
|
||||
|
||||
import com.google.inject.TypeLiteral;
|
||||
import com.google.inject.multibindings.Multibinder;
|
||||
import com.google.inject.name.Names;
|
||||
import org.eclipse.che.account.spi.AccountImpl;
|
||||
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.api.permission.server.SystemDomain;
|
||||
import org.eclipse.che.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
import org.eclipse.che.api.permission.server.spi.PermissionsDao;
|
||||
import org.eclipse.che.api.permission.server.spi.tck.SystemPermissionsDaoTest;
|
||||
import org.eclipse.che.api.user.server.model.impl.UserImpl;
|
||||
import org.eclipse.che.commons.test.db.H2DBTestServer;
|
||||
import org.eclipse.che.commons.test.db.H2JpaCleaner;
|
||||
|
|
@ -32,6 +26,12 @@ import org.eclipse.che.core.db.DBInitializer;
|
|||
import org.eclipse.che.core.db.h2.jpa.eclipselink.H2ExceptionHandler;
|
||||
import org.eclipse.che.core.db.schema.SchemaInitializer;
|
||||
import org.eclipse.che.core.db.schema.impl.flyway.FlywaySchemaInitializer;
|
||||
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.SystemDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.AbstractPermissions;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
import org.eclipse.che.multiuser.api.permission.server.spi.PermissionsDao;
|
||||
import org.eclipse.che.multiuser.api.permission.server.spi.tck.SystemPermissionsDaoTest.TestDomain;
|
||||
import org.h2.Driver;
|
||||
|
||||
/** @author Max Shaposhnik (mshaposhnik@codenvy.com) */
|
||||
|
|
@ -60,7 +60,7 @@ public class SystemPermissionsTckModule extends TckModule {
|
|||
binder(), String.class, Names.named(SystemDomain.SYSTEM_DOMAIN_ACTIONS));
|
||||
|
||||
bind(new TypeLiteral<AbstractPermissionsDomain<SystemPermissionsImpl>>() {})
|
||||
.to(SystemPermissionsDaoTest.TestDomain.class);
|
||||
.to(TestDomain.class);
|
||||
bind(new TypeLiteral<PermissionsDao<SystemPermissionsImpl>>() {})
|
||||
.to(JpaSystemPermissionsDao.class);
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.api.permission.server.spi.tck;
|
||||
package org.eclipse.che.multiuser.api.permission.server.spi.tck;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
import static org.testng.AssertJUnit.assertEquals;
|
||||
|
|
@ -19,12 +19,12 @@ import java.util.stream.Collectors;
|
|||
import java.util.stream.Stream;
|
||||
import javax.inject.Inject;
|
||||
import org.eclipse.che.api.core.Page;
|
||||
import org.eclipse.che.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.api.permission.server.jpa.JpaSystemPermissionsDao;
|
||||
import org.eclipse.che.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
import org.eclipse.che.api.user.server.model.impl.UserImpl;
|
||||
import org.eclipse.che.commons.test.tck.TckListener;
|
||||
import org.eclipse.che.commons.test.tck.repository.TckRepository;
|
||||
import org.eclipse.che.multiuser.api.permission.server.AbstractPermissionsDomain;
|
||||
import org.eclipse.che.multiuser.api.permission.server.jpa.JpaSystemPermissionsDao;
|
||||
import org.eclipse.che.multiuser.api.permission.server.model.impl.SystemPermissionsImpl;
|
||||
import org.testng.annotations.AfterMethod;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.Listeners;
|
||||
|
|
@ -0,0 +1 @@
|
|||
org.eclipse.che.multiuser.api.permission.server.jpa.SystemPermissionsTckModule
|
||||
|
|
@ -14,18 +14,18 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-plugin-parent</artifactId>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-multiuser-parent</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<artifactId>che-plugin-keycloak-parent</artifactId>
|
||||
<artifactId>che-multiuser-api</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>Che Plugin :: Keycloak</name>
|
||||
<name>Che Multiuser :: API Parent</name>
|
||||
<modules>
|
||||
<module>che-plugin-keycloak-ide</module>
|
||||
<module>che-plugin-keycloak-shared</module>
|
||||
<module>che-plugin-keycloak-server</module>
|
||||
<module>che-plugin-keycloak-token-provider</module>
|
||||
<module>che-multiuser-api-permission-shared</module>
|
||||
<module>che-multiuser-api-permission</module>
|
||||
<module>che-multiuser-api-authorization</module>
|
||||
<module>che-multiuser-api-authorization-impl</module>
|
||||
</modules>
|
||||
</project>
|
||||
|
|
@ -14,13 +14,14 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-plugin-keycloak-parent</artifactId>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-multiuser-keycloak</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<artifactId>che-plugin-keycloak-ide</artifactId>
|
||||
<artifactId>che-multiuser-keycloak-ide</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Che Keycloak IDE plugin</name>
|
||||
<name>Che Multiuser :: Keycloak IDE</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.google.gwt.inject</groupId>
|
||||
|
|
@ -39,12 +40,12 @@
|
|||
<artifactId>che-core-ide-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-machine-authentication-ide</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-keycloak-shared</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-plugin-keycloak-shared</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-machine-authentication-ide</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.gwt</groupId>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.ide;
|
||||
package org.eclipse.che.multiuser.keycloak.ide;
|
||||
|
||||
import com.google.gwt.core.client.JavaScriptObject;
|
||||
import org.eclipse.che.api.promises.client.Promise;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.ide;
|
||||
package org.eclipse.che.multiuser.keycloak.ide;
|
||||
|
||||
import com.google.gwt.http.client.RequestBuilder;
|
||||
import org.eclipse.che.api.promises.client.Function;
|
||||
|
|
@ -8,11 +8,11 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.ide;
|
||||
package org.eclipse.che.multiuser.keycloak.ide;
|
||||
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.AUTH_SERVER_URL_SETTING;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.CLIENT_ID_SETTING;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.REALM_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.AUTH_SERVER_URL_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.CLIENT_ID_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.REALM_SETTING;
|
||||
|
||||
import com.google.gwt.core.client.Callback;
|
||||
import com.google.gwt.core.client.JavaScriptObject;
|
||||
|
|
@ -33,9 +33,9 @@ import org.eclipse.che.ide.json.JsonHelper;
|
|||
import org.eclipse.che.ide.rest.AsyncRequest;
|
||||
import org.eclipse.che.ide.rest.HTTPHeader;
|
||||
import org.eclipse.che.ide.util.loging.Log;
|
||||
import org.eclipse.che.keycloak.shared.KeycloakConstants;
|
||||
import org.eclipse.che.machine.authentication.ide.MachineAsyncRequestFactory;
|
||||
import org.eclipse.che.machine.authentication.ide.MachineTokenServiceClient;
|
||||
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
|
||||
import org.eclipse.che.multiuser.machine.authentication.ide.MachineAsyncRequestFactory;
|
||||
import org.eclipse.che.multiuser.machine.authentication.ide.MachineTokenServiceClient;
|
||||
|
||||
/** KeycloakAuthAsyncRequestFactory */
|
||||
@Singleton
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.ide.inject;
|
||||
package org.eclipse.che.multiuser.keycloak.ide.inject;
|
||||
|
||||
import com.google.gwt.inject.client.AbstractGinModule;
|
||||
import org.eclipse.che.ide.api.extension.ExtensionGinModule;
|
||||
|
|
@ -21,6 +21,6 @@ public class KeycloakAuthGinModule extends AbstractGinModule {
|
|||
@Override
|
||||
public void configure() {
|
||||
bind(AsyncRequestFactory.class)
|
||||
.to(org.eclipse.che.keycloak.ide.KeycloakAsyncRequestFactory.class);
|
||||
.to(org.eclipse.che.multiuser.keycloak.ide.KeycloakAsyncRequestFactory.class);
|
||||
}
|
||||
}
|
||||
|
|
@ -14,13 +14,13 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-plugin-keycloak-parent</artifactId>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-multiuser-keycloak</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>che-plugin-keycloak-server</artifactId>
|
||||
<artifactId>che-multiuser-keycloak-server</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Che Keycloak Server plugin</name>
|
||||
<name>Che Multiuser :: Keycloak Server</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
|
|
@ -54,10 +54,6 @@
|
|||
<groupId>javax.ws.rs</groupId>
|
||||
<artifactId>javax.ws.rs-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-authorization</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-core-api-core</artifactId>
|
||||
|
|
@ -79,8 +75,12 @@
|
|||
<artifactId>che-core-commons-auth</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-plugin-keycloak-shared</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-api-authorization</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<artifactId>che-multiuser-keycloak-shared</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.keycloak</groupId>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server;
|
||||
package org.eclipse.che.multiuser.keycloak.server;
|
||||
|
||||
import javax.servlet.Filter;
|
||||
import javax.servlet.FilterConfig;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server;
|
||||
package org.eclipse.che.multiuser.keycloak.server;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.jsonwebtoken.Claims;
|
||||
|
|
@ -37,7 +37,7 @@ import javax.servlet.ServletResponse;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
|
||||
import org.eclipse.che.keycloak.shared.KeycloakConstants;
|
||||
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
|
@ -8,17 +8,17 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server;
|
||||
package org.eclipse.che.multiuser.keycloak.server;
|
||||
|
||||
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.AUTH_SERVER_URL_SETTING;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.CLIENT_ID_SETTING;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.GITHUB_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.LOGOUT_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.OSO_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.PASSWORD_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.PROFILE_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.keycloak.shared.KeycloakConstants.REALM_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.AUTH_SERVER_URL_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.CLIENT_ID_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.GITHUB_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.LOGOUT_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.OSO_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.PASSWORD_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.PROFILE_ENDPOINT_SETTING;
|
||||
import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.REALM_SETTING;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import java.util.Collections;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server;
|
||||
package org.eclipse.che.multiuser.keycloak.server;
|
||||
|
||||
import static java.util.Collections.emptyList;
|
||||
|
||||
|
|
@ -29,14 +29,14 @@ import org.eclipse.che.api.core.ConflictException;
|
|||
import org.eclipse.che.api.core.NotFoundException;
|
||||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.core.model.user.User;
|
||||
import org.eclipse.che.api.permission.server.AuthorizedSubject;
|
||||
import org.eclipse.che.api.permission.server.PermissionChecker;
|
||||
import org.eclipse.che.api.user.server.UserManager;
|
||||
import org.eclipse.che.api.user.server.model.impl.UserImpl;
|
||||
import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.commons.subject.Subject;
|
||||
import org.eclipse.che.commons.subject.SubjectImpl;
|
||||
import org.eclipse.che.multiuser.api.permission.server.AuthorizedSubject;
|
||||
import org.eclipse.che.multiuser.api.permission.server.PermissionChecker;
|
||||
|
||||
/**
|
||||
* Sets subject attribute into session based on keycloak authentication data.
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server;
|
||||
package org.eclipse.che.multiuser.keycloak.server;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server;
|
||||
package org.eclipse.che.multiuser.keycloak.server;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import java.io.BufferedReader;
|
||||
|
|
@ -17,7 +17,7 @@ import java.io.InputStreamReader;
|
|||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.Map;
|
||||
import org.eclipse.che.keycloak.shared.KeycloakConstants;
|
||||
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server;
|
||||
package org.eclipse.che.multiuser.keycloak.server;
|
||||
|
||||
import org.eclipse.che.api.core.ConflictException;
|
||||
import org.eclipse.che.api.core.model.user.User;
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server.dao;
|
||||
package org.eclipse.che.multiuser.keycloak.server.dao;
|
||||
|
||||
import static java.util.Objects.requireNonNull;
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ import org.eclipse.che.api.core.ServerException;
|
|||
import org.eclipse.che.api.user.server.model.impl.ProfileImpl;
|
||||
import org.eclipse.che.api.user.server.spi.ProfileDao;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.keycloak.shared.KeycloakConstants;
|
||||
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
|
||||
import org.keycloak.representations.idm.UserRepresentation;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
@ -8,22 +8,22 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server.deploy;
|
||||
package org.eclipse.che.multiuser.keycloak.server.deploy;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
|
||||
import org.eclipse.che.api.user.server.TokenValidator;
|
||||
import org.eclipse.che.api.user.server.spi.ProfileDao;
|
||||
import org.eclipse.che.keycloak.server.KeycloakConfigurationService;
|
||||
import org.eclipse.che.keycloak.server.KeycloakTokenValidator;
|
||||
import org.eclipse.che.keycloak.server.dao.KeycloakProfileDao;
|
||||
import org.eclipse.che.multiuser.keycloak.server.KeycloakConfigurationService;
|
||||
import org.eclipse.che.multiuser.keycloak.server.KeycloakTokenValidator;
|
||||
import org.eclipse.che.multiuser.keycloak.server.dao.KeycloakProfileDao;
|
||||
|
||||
public class KeycloakModule extends AbstractModule {
|
||||
@Override
|
||||
protected void configure() {
|
||||
|
||||
bind(HttpJsonRequestFactory.class)
|
||||
.to(org.eclipse.che.keycloak.server.KeycloakHttpJsonRequestFactory.class);
|
||||
.to(org.eclipse.che.multiuser.keycloak.server.KeycloakHttpJsonRequestFactory.class);
|
||||
bind(TokenValidator.class).to(KeycloakTokenValidator.class);
|
||||
bind(KeycloakConfigurationService.class);
|
||||
|
||||
|
|
@ -8,12 +8,12 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.server.deploy;
|
||||
package org.eclipse.che.multiuser.keycloak.server.deploy;
|
||||
|
||||
import com.google.inject.servlet.ServletModule;
|
||||
import javax.inject.Singleton;
|
||||
import org.eclipse.che.keycloak.server.KeycloakAuthenticationFilter;
|
||||
import org.eclipse.che.keycloak.server.KeycloakEnvironmentInitalizationFilter;
|
||||
import org.eclipse.che.multiuser.keycloak.server.KeycloakAuthenticationFilter;
|
||||
import org.eclipse.che.multiuser.keycloak.server.KeycloakEnvironmentInitalizationFilter;
|
||||
|
||||
public class KeycloakServletModule extends ServletModule {
|
||||
@Override
|
||||
|
|
@ -14,13 +14,13 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-plugin-keycloak-parent</artifactId>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-multiuser-keycloak</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>che-plugin-keycloak-shared</artifactId>
|
||||
<artifactId>che-multiuser-keycloak-shared</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Che Keycloak Shared module</name>
|
||||
<name>Che Multiuser :: Keycloak Shared module</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.shared;
|
||||
package org.eclipse.che.multiuser.keycloak.shared;
|
||||
|
||||
/** @author Max Shaposhnik (mshaposh@redhat.com) */
|
||||
public class KeycloakConstants {
|
||||
|
|
@ -14,12 +14,12 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-plugin-keycloak-parent</artifactId>
|
||||
<groupId>org.eclipse.che.plugin</groupId>
|
||||
<artifactId>che-multiuser-keycloak</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>che-plugin-keycloak-token-provider</artifactId>
|
||||
<name>Che Keycloak Token Provider plugin</name>
|
||||
<artifactId>che-multiuser-keycloak-token-provider</artifactId>
|
||||
<name>Che Multiuser :: Keycloak Token Provider</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.token.provider.contoller;
|
||||
package org.eclipse.che.multiuser.keycloak.token.provider.contoller;
|
||||
|
||||
import java.io.IOException;
|
||||
import javax.inject.Inject;
|
||||
|
|
@ -29,10 +29,10 @@ import org.eclipse.che.api.core.NotFoundException;
|
|||
import org.eclipse.che.api.core.ServerException;
|
||||
import org.eclipse.che.api.core.UnauthorizedException;
|
||||
import org.eclipse.che.commons.env.EnvironmentContext;
|
||||
import org.eclipse.che.keycloak.token.provider.exception.KeycloakException;
|
||||
import org.eclipse.che.keycloak.token.provider.oauth.OpenShiftGitHubOAuthAuthenticator;
|
||||
import org.eclipse.che.keycloak.token.provider.service.KeycloakTokenProvider;
|
||||
import org.eclipse.che.keycloak.token.provider.validator.KeycloakTokenValidator;
|
||||
import org.eclipse.che.multiuser.keycloak.token.provider.exception.KeycloakException;
|
||||
import org.eclipse.che.multiuser.keycloak.token.provider.oauth.OpenShiftGitHubOAuthAuthenticator;
|
||||
import org.eclipse.che.multiuser.keycloak.token.provider.service.KeycloakTokenProvider;
|
||||
import org.eclipse.che.multiuser.keycloak.token.provider.validator.KeycloakTokenValidator;
|
||||
import org.eclipse.che.security.oauth.OAuthAuthenticator;
|
||||
import org.eclipse.che.security.oauth.OAuthAuthenticatorProvider;
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.token.provider.deploy;
|
||||
package org.eclipse.che.multiuser.keycloak.token.provider.deploy;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import org.eclipse.che.inject.DynaModule;
|
||||
|
|
@ -17,6 +17,6 @@ import org.eclipse.che.inject.DynaModule;
|
|||
public class KeycloakModule extends AbstractModule {
|
||||
@Override
|
||||
protected void configure() {
|
||||
bind(org.eclipse.che.keycloak.token.provider.contoller.TokenController.class);
|
||||
bind(org.eclipse.che.multiuser.keycloak.token.provider.contoller.TokenController.class);
|
||||
}
|
||||
}
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.token.provider.exception;
|
||||
package org.eclipse.che.multiuser.keycloak.token.provider.exception;
|
||||
|
||||
public class KeycloakException extends Exception {
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.token.provider.oauth;
|
||||
package org.eclipse.che.multiuser.keycloak.token.provider.oauth;
|
||||
|
||||
import static com.google.common.base.Strings.isNullOrEmpty;
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.token.provider.service;
|
||||
package org.eclipse.che.multiuser.keycloak.token.provider.service;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
|
@ -26,7 +26,7 @@ import org.eclipse.che.api.core.UnauthorizedException;
|
|||
import org.eclipse.che.api.core.rest.HttpJsonRequestFactory;
|
||||
import org.eclipse.che.api.core.rest.HttpJsonResponse;
|
||||
import org.eclipse.che.commons.annotation.Nullable;
|
||||
import org.eclipse.che.keycloak.token.provider.util.UrlHelper;
|
||||
import org.eclipse.che.multiuser.keycloak.token.provider.util.UrlHelper;
|
||||
|
||||
@Singleton
|
||||
public class KeycloakTokenProvider {
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.token.provider.util;
|
||||
package org.eclipse.che.multiuser.keycloak.token.provider.util;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
|
@ -8,11 +8,11 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.token.provider.validator;
|
||||
package org.eclipse.che.multiuser.keycloak.token.provider.validator;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.eclipse.che.keycloak.token.provider.exception.KeycloakException;
|
||||
import org.eclipse.che.multiuser.keycloak.token.provider.exception.KeycloakException;
|
||||
|
||||
@Singleton
|
||||
public class KeycloakTokenValidator {
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.token.provider.util;
|
||||
package org.eclipse.che.multiuser.keycloak.token.provider.util;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
|
|
@ -8,9 +8,9 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.keycloak.token.provider.validator;
|
||||
package org.eclipse.che.multiuser.keycloak.token.provider.validator;
|
||||
|
||||
import org.eclipse.che.keycloak.token.provider.exception.KeycloakException;
|
||||
import org.eclipse.che.multiuser.keycloak.token.provider.exception.KeycloakException;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
Copyright (c) 2012-2017 Red Hat, Inc.
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are made available under the terms of the Eclipse Public License v1.0
|
||||
which accompanies this distribution, and is available at
|
||||
http://www.eclipse.org/legal/epl-v10.html
|
||||
|
||||
Contributors:
|
||||
Red Hat, Inc. - initial API and implementation
|
||||
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-multiuser-parent</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
<artifactId>che-multiuser-keycloak</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>Che Multiuser :: Keycloak Integration Parent</name>
|
||||
<modules>
|
||||
<module>che-multiuser-keycloak-shared</module>
|
||||
<module>che-multiuser-keycloak-ide</module>
|
||||
<module>che-multiuser-keycloak-server</module>
|
||||
<module>che-multiuser-keycloak-token-provider</module>
|
||||
</modules>
|
||||
</project>
|
||||
|
|
@ -14,12 +14,12 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>che-agent-parent</artifactId>
|
||||
<groupId>org.eclipse.che.core</groupId>
|
||||
<artifactId>che-multiuser-machine-auth</artifactId>
|
||||
<groupId>org.eclipse.che.multiuser</groupId>
|
||||
<version>5.18.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>che-machine-authentication-agent</artifactId>
|
||||
<name>Che :: Machine Authentication Agent</name>
|
||||
<artifactId>che-multiuser-machine-authentication-agent</artifactId>
|
||||
<name>Che Multiuser :: Machine Authentication Agent</name>
|
||||
<properties>
|
||||
<dto-generator-out-directory>${project.build.directory}/generated-sources/dto/</dto-generator-out-directory>
|
||||
</properties>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.machine.authentication.agent;
|
||||
package org.eclipse.che.multiuser.machine.authentication.agent;
|
||||
|
||||
import static com.google.common.base.Strings.isNullOrEmpty;
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.machine.authentication.agent;
|
||||
package org.eclipse.che.multiuser.machine.authentication.agent;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue