Table of Contents
User Verification
Current Implementation
Project Name: Spago-KMF-Connector
1- Synchronizing SpagoBi roles with the external system i.e. kmr roles (ExternalSecurityInfoProviderImpl.java implements ISecurityInfoProvider spago interface)
2- Authenticate current kmr user to SpagoBI server (ExternalSecurityServiceSupplierImpl.java implements ISecurityServiceSupplier spago interface)
Spago Server Configuration
1- Create a jar file of the ExternalSecurityServiceSupplierImpl.java and ExternalSecurityInfoProviderImpl.java implementation.
2- Copy the jar file in the SpagoBI-Server-4.2-10042014/webapps/SpagoBI/WEB-INF/lib folder.
3- Change the SpagoBI setting to access them
- SPAGOBI.SECURITY.PORTAL-SECURITY-CLASS.className=org.socraticgrid.spagobi.kmf.security.initialize.ExernalSecurityInfoProviderImpl
- SPAGOBI.SECURITY.USER-PROFILE-FACTORY-CLASS.className=org.socraticgrid.spagobi.kmf.security.initialize.ExternalSecurityServiceSupplierImpl
- SPAGOBI.SECURITY.PORTAL-SECURITY-INIT-CLASS.className=org.socraticgrid.spagobi.kmf.security.initialize.ExternalSecurityInitializer
API and the Parameters
ExternalSecurityInfoProviderImpl.java is invoked when synchronize icon is activated.
Input: kmr AccountService();
output: Return the list of roles per organization from kmr.
All the parameters are set in the KMR_PROPERTIES_DIR configuration.
ExternalSecurityServiceSupplierImpl.java is invoked when a user login to the spagobi server.
Name | Type | Mandatory | Description |
---|---|---|---|
User | SbiUser | yes | used in checkAuthentication method |
userID | String | yes | used in checkAuthentication (Spago) method used in checkKmrAuthenication method |
password | String | yes | used in checkAuthentication method used in checkKmrAuthenication method |
Justification
Spagobi creates user profile for every user during the login process. It is not possible to persist external users to their database layer. It effects other functionalities of SpagoBI. For instance, kmr users persisted in their user table but is not shown in the different places of the spagoBI server. We need to modify their code in several places to make all their functionalities working properly.
API Sample
https://github.com/CognitiveMed/PQCNC_Spago
List Reports
Current Implementation
Project Name: Spago-KMF-Report
Package Name: org.socraticgrid.spagobi.kmf.api
Class Name: KmrSpagoCreateReport implements IKmrReport interface
Method Name: getDocumentsAsList
Parameters
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
user | String | yes | used in getDocumentsAsList method |
password | String | yes | used in getDocumentsAsList method |
ConnectionServiceEndpoint | String | yes | used in getDocumentsAsList method Spago Server Connection Service URL: http://localhost:8080/SpagoBI/sdk/TestConnectionService |
DocumentServiceEndpoint | String | yes | used in getDocumentsAsList method Spago Server Connection Service URL:http://localhost:8080/SpagoBI/sdk/DocumentsService |
API Sample
spagoReport.getDocumentsAsList("biuser","biuser","http://localhost:8080/SpagoBI/sdk/TestConnectionService","http://localhost:8080/SpagoBI/sdk/DocumentsService");
Get Report Detail
Current Implementation
Project Name: Spago-KMF-Report
Package Name: org.socraticgrid.spagobi.kmf.api
Class Name: KmrSpagoCreateReport implements IKmrReport interface
Method Name: getSpagoRolesForExecution
Parameters
Base URL: /getReportDetail
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
user | String | yes | used in getDocumentsAsList method |
password | String | yes | used in getSpagoRolesForExecution method |
DocumentServiceEndpoint | String | yes | used in getDocumentsAsList method Spago Server Connection Service URL:http://localhost:8080/SpagoBI/sdk/DocumentsService |
Add Comment