- 20 Views
- 0 Comments
IBM FileNet P8 Dev & Admin
Java Code to Retrieve Security on IBM FileNet P8 Domain
TimMarshal
- Post By TimMarshal
- 6 days ago
import java.io.IOException;
import java.util.Iterator;
import javax.security.auth.Subject;
import com.filenet.api.collection.AccessPermissionList;
import com.filenet.api.core.Connection;
import com.filenet.api.core.Domain;
import com.filenet.api.core.Factory;
import com.filenet.api.security.AccessPermission;
import com.filenet.api.util.UserContext;
public class DomainAccessAudit {
private static Connection serverConnection = null;
static String assignedUser = null;
static String userCategory = null;
static String accessOrigin = null;
static String accessMode = null;
static String depthLevel = null;
static String accessRights = null;
public static Connection initContentEngineConnection() {
try {
String contentEngineUrl = "http://localhost:9080/wsi/FNCEWS40MTOM/";
String loginUser = "adminUser";
String loginPass = "adminPass";
if (serverConnection == null) {
serverConnection = Factory.Connection.getConnection(contentEngineUrl);
Subject authSubject = UserContext.createSubject(serverConnection, loginUser, loginPass, null);
UserContext.get().pushSubject(authSubject);
}
} catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("Connected to Content Engine: " + serverConnection);
return serverConnection;
}
public static void displayDomainSecurity() throws IOException {
try {
serverConnection = null;
serverConnection = initContentEngineConnection();
Domain ceDomain = Factory.Domain.fetchInstance(serverConnection, null, null);
AccessPermissionList securityList = ceDomain.get_Permissions();
Iterator<?> permissionIterator = securityList.iterator();
while (permissionIterator.hasNext()) {
AccessPermission currentPerm = (AccessPermission) permissionIterator.next();
assignedUser = currentPerm.get_GranteeName();
userCategory = currentPerm.get_GranteeType().toString();
accessOrigin = currentPerm.get_PermissionSource().toString();
accessMode = currentPerm.get_AccessType().toString();
depthLevel = currentPerm.get_InheritableDepth().toString();
accessRights = currentPerm.get_AccessMask().toString();
System.out.println("Domain: " + ceDomain.get_Name());
System.out.println("User: " + assignedUser);
System.out.println("Type: " + userCategory);
System.out.println("Source: " + accessOrigin);
System.out.println("Access Mode: " + accessMode);
System.out.println("Inheritance: " + depthLevel);
System.out.println("Mask: " + accessRights);
System.out.println("-----------------------------------");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
displayDomainSecurity();
}
}
Login To Post Your Comment