Skip to Content

Table name and required for User access on folder ?

Nov 29, 2017 at 01:49 PM


avatar image

Can someone tell me what is the table name and column name which has information on what kind of access the user has ( View , Schedule , Etc) on Particular application folder ?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Bharath B N Nov 30, 2017 at 10:50 AM

You can Achieve this using Java SDK.

This method iterates through all available rights that can be set on a report, and checks whether a particular user has these rights granted. The results are formatted in an HTML table and returned as a String object.

String checkRights(IEnterpriseSession enterpriseSession, IUser user) throws SDKException, IOException
  IInfoStore infostore = (IInfoStore)enterpriseSession.getService("InfoStore"); 
  String resultString = "Rights for user '" + user.getTitle() + "' for 'World Sales Report'.<p>";
  IInfoObjects reports = infostore.query("Select SI_ID From CI_INFOOBJECTS Where SI_NAME='World Sales Report' And SI_INSTANCE=0");
  IInfoObject report = (IInfoObject)reports.get(0);

  ISecurityInfo2 securityInfo = report.getSecurityInfo2();
  IPluginBasedRightIDs pluginBasedRightIDs = securityInfo.getKnownRightsByPlugin();
  Map pluginRights = pluginBasedRightIDs.getPluginRights();
  Iterator it = pluginRights.keySet().iterator();
  while (it.hasNext())
    Object progID =;
    Set rightIDs = (java.util.Set)pluginRights.get(progID);
    Iterator rIt = rightIDs.iterator();
    resultString += "<p><p><b>Plugin Type: </b>" + progID.toString() + "<br>";
    resultString += "<table><tr><td><b>Right</b></td><td><b>Is granted</b></td></tr>";
    while (rIt.hasNext())
      IRightID key = (IRightID);
      RightDescriptor rightToCheck = new RightDescriptor(key.getBaseID(), key.getRightPluginKind(), key.isOwner(), CeSecurityOptions.RightScope.CURRENT_OBJECT, progID);
      boolean hasRight = securityInfo.checkRight(rightToCheck, user.getID(), true);
      resultString += "<tr><td>" + key.toString()+ "</td><td>" + hasRight + "</td></tr>";
    resultString += "</table>";
  return resultString;

10 |10000 characters needed characters left characters exceeded
Bharath B N Nov 30, 2017 at 10:52 AM

Rights Info will be stored as SecurityInfo in each object.



10 |10000 characters needed characters left characters exceeded