Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/security/authorization/admin-gui.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@ The authorization is also check while deciding if previewButton should be shown.
Also, covers 'Create report' button on the Campaign details page.
|

| http://midpoint.evolveum.com/xml/ns/public/security/authorization-ui-3#connectorWizard
| Connector generator wizard - GUI pages, REST API and the backend service that generates and executes connector code.
Involves generating and running arbitrary connector code, so it is not granted by any out-of-the-box role, including Superuser (which reaches it only via `#all`).
Grant it explicitly, only to administrators who need to generate connectors.
| Since 4.11

|===

== Self-service Actions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,7 @@
},
encoder = OnePageParameterEncoder.class,
action = {
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_CONNECTOR_DEVELOPMENTS_ALL_URL,
label = "PageAdminConnectorDevelopments.auth.connectorDevelopmentsAll.label",
description = "PageAdminConnectorDevelopments.auth.connectorDevelopmentsAll.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_CONNECTOR_DEVELOPMENT_URL,
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_CONNECTOR_WIZARD_URL,
label = "PageAdminConnectorDevelopments.auth.connectorGenerator.label",
description = "PageAdminConnectorDevelopments.auth.connectorGenerator.description")
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,9 @@
@Url(mountUrl = "/admin/connectorDevelopments")
},
action = {
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_CONNECTOR_DEVELOPMENTS_ALL_URL,
label = "PageAdminConnectorDevelopments.auth.connectorDevelopmentsAll.label",
description = "PageAdminConnectorDevelopments.auth.connectorDevelopmentsAll.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_CONNECTOR_DEVELOPMENTS_URL,
label = "PageConnectorDevelopments.auth.connectorDevelopments.label",
description = "PageConnectorDevelopments.auth.connectorDevelopments.description")})
// @AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_CONNECTOR_DEVELOPMENTS_VIEW_URL,
// label = "PageConnectorDevelopments.auth.connectorDevelopments.view.label",
// description = "PageConnectorDevelopments.auth.connectorDevelopments.view.description")})
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_CONNECTOR_WIZARD_URL,
label = "PageAdminConnectorDevelopments.auth.connectorGenerator.label",
description = "PageAdminConnectorDevelopments.auth.connectorGenerator.description")})
@CollectionInstance(identifier = "allConnectorDevelopments", applicableForType = ConnectorDevelopmentType.class,
display = @PanelDisplay(label = "PageAdmin.menu.top.connectorDevelopments.list", singularLabel = "ObjectType.connectorDevelopment", icon = GuiStyleConstants.CLASS_OBJECT_CONNECTOR_ICON))
public class PageConnectorDevelopments extends PageAdmin {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
Expand Down Expand Up @@ -209,7 +207,7 @@ protected List<TaskStatusDto> load() {

protected abstract List<ItemName> getActivityTypes();

protected abstract StatusInfo<?> obtainResult(ItemName activityType, String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException;
protected abstract StatusInfo<?> obtainResult(ItemName activityType, String token, Task task, OperationResult result) throws CommonException;

protected abstract String triggerOperation(Task task, OperationResult result);

Expand All @@ -232,7 +230,7 @@ protected StatusInfo<?> load() {
Task task = app.createSimpleTask(OP_DETERMINE_STATUS);
OperationResult result = task.getResult();
return obtainResult(activityType, token, task, result);
} catch (SchemaException|ObjectNotFoundException e) {
} catch (CommonException e) {
throw new RuntimeException(e);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.web.component.AceEditor;
import com.evolveum.midpoint.web.component.AjaxIconButton;
import com.evolveum.midpoint.web.page.admin.reports.component.SimpleAceEditorPanel;
Expand Down Expand Up @@ -107,7 +105,7 @@ protected ConnDevArtifactType load() {
StatusInfo<ConnDevGenerateArtifactResultType> statusInfo;
try {
statusInfo = getDetailsModel().getServiceLocator().getConnectorService().getGenerateArtifactStatus(token, task, result);
} catch (SchemaException | ObjectNotFoundException e) {
} catch (CommonException e) {
throw new RuntimeException(e);
}
ConnDevGenerateArtifactResultType artifactResultType = statusInfo.getResult();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.web.component.AceEditor;
import com.evolveum.midpoint.web.component.AjaxIconButton;
import com.evolveum.midpoint.web.component.TabbedPanel;
Expand Down Expand Up @@ -116,7 +114,7 @@ protected List<ConnDevArtifactType> load() {
StatusInfo<ConnDevGenerateArtifactResultType> statusInfo;
try {
statusInfo = getDetailsModel().getServiceLocator().getConnectorService().getGenerateArtifactStatus(tokenEntry.getValue(), task, result);
} catch (SchemaException | ObjectNotFoundException e) {
} catch (CommonException e) {
throw new RuntimeException(e);
}
ConnDevGenerateArtifactResultType artifactResultType = statusInfo.getResult();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
Expand Down Expand Up @@ -55,7 +54,7 @@ protected ItemName getActivityType() {
}

@Override
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws CommonException {
return getDetailsModel().getServiceLocator().getConnectorService().getExportConnectorStatus(token, task, result);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
Expand Down Expand Up @@ -200,7 +198,7 @@ protected StatusInfo<?> load() {
Task task = app.createSimpleTask(OP_DETERMINE_STATUS);
OperationResult result = task.getResult();
return obtainResult(tokenModel.getObject(), task, result);
} catch (SchemaException|ObjectNotFoundException e) {
} catch (CommonException e) {
throw new RuntimeException(e);
}
}
Expand Down Expand Up @@ -233,7 +231,7 @@ protected String getKeyForStoringToken(){
return null;
};

protected abstract StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException;
protected abstract StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws CommonException;

protected abstract String getNewTaskToken(Task task, OperationResult result, boolean regenerate);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ConnDevObjectClassInfoType;

import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -52,7 +51,7 @@ protected String getObjectClassName() {
}

@Override
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws CommonException {
return getDetailsModel().getServiceLocator().getConnectorService().getGenerateArtifactStatus(token, task, result);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
Expand Down Expand Up @@ -128,7 +127,7 @@ protected List<PrismContainerValueWrapper<ConnDevDocumentationSourceType>> load(
try {
statusInfo =
getDetailsModel().getServiceLocator().getConnectorService().getDiscoverDocumentationStatus(token, task, result);
} catch (SchemaException | ObjectNotFoundException e) {
} catch (CommonException e) {
throw new RuntimeException(e);
}
ConnDevDiscoverDocumentationResultType documentationResultBean = statusInfo.getResult();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
Expand Down Expand Up @@ -59,7 +59,7 @@ protected ItemName getActivityType() {
}

@Override
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws CommonException {
return getDetailsModel().getServiceLocator().getConnectorService().getCreateConnectorStatus(token, task, result);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
Expand All @@ -44,7 +43,7 @@ public WaitingForDocumentationConnectorStepPanel(WizardPanelHelper<? extends Con
}

@Override
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws CommonException {
return getDetailsModel().getServiceLocator().getConnectorService().getDiscoverDocumentationStatus(token, task, result);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
import com.evolveum.midpoint.smart.api.conndev.ConnectorDevelopmentArtifacts;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
Expand Down Expand Up @@ -47,7 +46,7 @@ public WaitingAuthScriptsConnectorStepPanel(WizardPanelHelper<? extends Containe
}

@Override
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws CommonException {
return getDetailsModel().getServiceLocator().getConnectorService().getGenerateArtifactStatus(token, task, result);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
Expand Down Expand Up @@ -47,7 +46,7 @@ public WaitingBasicInfoConnectorStepPanel(WizardPanelHelper<? extends Containera
}

@Override
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws CommonException {
return getDetailsModel().getServiceLocator().getConnectorService().getDiscoverBasicInformationStatus(token, task, result);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
Expand Down Expand Up @@ -49,7 +48,7 @@ public WaitingConnectivityEndpointConnectorStepPanel(

@Override
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result)
throws SchemaException, ObjectNotFoundException {
throws CommonException {
return getDetailsModel().getServiceLocator().getConnectorService()
.getDiscoverConnectivityEndpointStatus(token, task, result);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
Expand Down Expand Up @@ -50,7 +49,7 @@ protected ItemName getActivityType() {
}

@Override
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws CommonException {
return getDetailsModel().getServiceLocator().getConnectorService().getRefreshSchemaStatus(token, task, result);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
Expand All @@ -46,7 +45,7 @@ public WaitingObjectClassInformationStepPanel(WizardPanelHelper<? extends Contai
}

@Override
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws SchemaException, ObjectNotFoundException {
protected StatusInfo<?> obtainResult(String token, Task task, OperationResult result) throws CommonException {
return getDetailsModel().getServiceLocator().getConnectorService().getDiscoverObjectClassInformationStatus(token, task, result);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.smart.api.info.StatusInfo;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
Expand Down Expand Up @@ -64,7 +63,7 @@ protected List<ItemName> getActivityTypes() {

@Override
protected StatusInfo<?> obtainResult(ItemName activityType, String token, Task task, OperationResult result)
throws SchemaException, ObjectNotFoundException {
throws CommonException {
var service = getDetailsModel().getServiceLocator().getConnectorService();
if (WorkDefinitionsType.F_DISCOVER_OBJECT_CLASS_ENDPOINTS.equals(activityType)) {
return service.getDiscoverObjectClassEndpointsStatus(token, task, result);
Expand Down
Loading
Loading