Opne DACS Java API - Restrict a user to login more than once from same position.

I'm following open DACS Java API to connect to DACS Daemon and Login to DACS Infrastructure. I'm following the exactly the same step and code which is available in Tutorial 2 – Login Request.

As per the tutorial, the ideal scenario should be :

The request sent to the DACS infrastructure, which first check if a user profile exist. IF the user exist a check is performed that maximum number of simultaneously login allowed for this user has not been exceeded.

But, while execiting the code and changing the position for the same user, the code allowing it multiple time login from different position for same user. For example :

1st login -

Username - xyz

Position - 1.1.1.1/net

2nd login -

Username - xyz

Position - 2.1.1.1/net

and so on..

Please note, In dacs for user1 the maximum number of simultaneous login allowed is set to 1.

Best Answer

  • Hello @Balwant

    What is the command line that you run the application? To specific
    the position, use -p <position>. For example: to set position to be 2.1.1.1/net

    java -cp .;D:\rfaj8.1.0.L1.all.rrg\Libs\rfa.jar com.reuters.opendacs.tutorial.DacsSubscribeClient -D localhost:8211 -u pimchaya -p 2.1.1.1/net

    If you run with invalid parameter to set the position, the position
    will always be set to the default (1.1.1.1/net). Then, more than 1 login will
    be allowed because of the same position are used.

    Do you start multiple applications in the similar time?

    The application logs in then logs out the user after that
    the number of login is back to 0. If you run the application, after it logs out
    or exits, the number of login is 0. Then, you run the application again so the number
    of login is increased to be 1 which does not exceed the maximum number set in DACs.
    Hence, the user can login successfully. Please start the 2 applications in the
    similar time with difference position and the same user and same daemon. Then, one of it will receive login denied
    (login failure) because the maximum number of simultaneously login is exceeded as shown in the
    figure below:

    image

    If you still face the problem
    even using -p <position> in the command line and start mulitiple
    applications in the similar time with difference position and other parameters
    are the same, it is possible that:

    • The DACS sink deamon
      you use connects to DACS where the maximum number of login of the user you use
      is not set to be 1.
    • The maximum
      number of login of the user you use in DACS where the daemon connects to is not
      set properly e.g. it set to be 1 but this change is not applied to DACS yet.

    Hence, DACS that your daemon
    connects to need to be verified if it sets the maximum number of login of the
    user you use to be 1 properly or not.

    If DACS is manged by your
    company, please contact your DACS’s admin who can help you to check this. If
    you/your DACS’s admin needs help regarding the DACS sink deamon or DACS, you
    can submit the query to DACS support team directly via https://my.thomsonreuters.com/ After
    you log in, click "RAISE A CASE" then "Product Support".
    Then, select your subject e.g. “I need help using the product”. At “Select
    product”, select ”DACS - Data Access Control System”. If you cannot access the web site or submit the query, he
    should send an email to rdc.administrator@thomsonreuters.com

    If DACS is manged by Thomson
    Reuters, please contact Thomson Reuters Account team who can help you to check
    DACS.