How to get new/updated user details and roles through RSSE implementation

Options
bcmp
edited February 11, 2022 in Analytics #1
<p>In RSSE implementation, all the user and roles are read from data source and loaded in the memory during initialization. If new users and roles are added to underlining data source, how does users and roles are updated in ihub through RSSE?</p>
<p>1) where the code has to be written to get the new/updated user related information in to ihub through RSSE?</p>

Comments

  • <p>The iHub will refresh the RSSE cache per the timeout period.  By default, the value is 1440 minutes as defined in the acmetadescription.xml:</p>
    <pre class="_prettyXprint _lang-">
    <Variable
    Name="RSSECacheTimeout"
    Type="Integer"
    Access="Private"
    Required="False"
    DisplayName="Timeout for open security cache"
    TakesEffect="VolumeRestart"
    UnitOrFormat="Minutes"
    DefaultValue="1440"/>
    <Variable
    </pre>
    <p>The RSSE cache keeps current server objects in memory.  Otherwise, RSSE would need to make many requests to the external system (LDAP, Active Directory, database, etc...) to perform query checks for <strong>every </strong>single operation.  This helps throttle those requests to avoid adversely affecting those external systems.<br><br>
    A given user, or user group object is cached when that object is needed.  This could result from a login or "SelectUser" operation.  After this initial check is made against the external system, the object will be kept and referenced from the cache.  Note that minor changes such as the user's description, email, etc. will not be picked up until the RSSE cache is updated. <br>
     </p>
    <p> </p>
    <p>You can manually call an update cache if required via the IDAPI <em>UpdateOpenSecurityCache </em>call.</p>
    <p><a data-ipb='nomediaparse' href='http://developer.actuate.com/community/forum/index.php?/topic/39790-idapi-updateopensecuritycache/'>http://developer.actuate.com/community/forum/index.php?/topic/39790-idapi-updateopensecuritycache/</a></p&gt;
    <p> </p>
    <p> </p>
    <p>
     </p>
    Warning No formatter is installed for the format ipb
  • <p>A new user is added to the external data system after some interval, how does RSSE retrieves and stores the new added user in the memory. Since the user needs to access the iHub system as well.</p>
    <p> </p>
    <p>Where the code for the data refresh should be written?</p>
  • Belmont
    edited January 9, 2017 #4
    Options
    <p>When a new user is added to the external data system, iHub doesn't retrieve any information about that user during a refresh until they successfully into iHub. Once they do, then that user exists in iHub's cache, and then iHub will refresh information about that user after a timeout or an IDAPI call. If any of this is wrong, I'm sure someone will correct me, but this is purely what I've observed when playing around with this application.</p>
    <p> </p>
    <p>The code for the data refresh should be written from that idapi-wrapper project that you can download and import from github.</p>
    <p> </p>
    <p><a data-ipb='nomediaparse' href='https://github.com/puckpuck/idapi-wrapper'>https://github.com/puckpuck/idapi-wrapper</a></p&gt;
    <p> </p>
    <p>After importing that project, look in the (default package), and double click on Tester.java<br><br>
    This is where you can write the code for updating the refresh. Create a method called updateOpenSecurityCache(),utilize the OpenSecurityCacheUpdater object in the com.actutate.aces.idapi package. You can call the invalidateCache() method to clear out any unused references in iHub's cache. You can also call invalidateCachedUsers(...) if you want to refresh information of a specific user or role.</p>
    <p> </p>
    <p>Don't forget to replace the default host/username/password/volume information with your own at the very beginning of the code.</p>
    <p> </p>
    <p>I hope this helps!</p>